CALENDAR

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

PROFILE

オマエダレナンダ

Author:よな
ぴくしヴ
つい(自動応答):lilium_yonah

真理は存在しない。許されぬ行為など無い。とはいえ挟まりたくはないです。
同人活動の傍らでニコニコ動画のボカロ・ニコマス畑の片隅で隠密行動中です。

動画方面では『ヨナP』を名乗らせていただいています。このP名は頂き物なので大事に使っていきたいと思います。ありがとうございます。大百科登録もありがとうございます。

連絡先:takanesukisukibyou[あ]yahoo.co.jp
([あ]には半角@を入れてください)

REPORT

COMMENT

TRACKBACK

CATEGORY

ARCHIVE

つうはん

とらのあな様に委託中!
COMITIA105新刊(オリジナル)
■遊撃のアーキテクチャ

既刊・アイマス眼鏡本
■はるひな

MYLIST

ボカロ系マイリス

ニコマス系マイリス

LINK

SEARCH

RSS

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
制作中のゲームにフレームレートの表示を実装してみた。そんな覚書。
コンソールアプリでそれは必要なのかというと,本当に60fps出ているのか知っておきたかったからトリアーエズの実装。


プログラムの練習問題とかにありがちな配列の内容を表示していくとかそういう類ので数値や文字列をずらっと表示すると,なんか表示完了までが遅いイメージがある。そんなわけで,タイマーでループ処理している場合,実際どのくらい出てるのか調べてみようという話。
結果としては,これといった処理を挟まない場合は安定して60fpsキープする様子。というか360fpsでも安定する。CPUのファンがちょっと唸る。なおCPUは並のC2Q。

そこでグラフィック……は基本的に出せないので文字列を表示させていく。処理のイメージとしては,ゲームでいうとマップチップで背景をずらっと埋めていく感じ。チップ1枚が1文字で,画面に敷き詰める感じ。

毎フレーム100文字ほどだと変化はないけど,200文字くらいから60fpsを維持できなくなり,800文字ほど表示させると12fpsくらいまで落ちる。
この文字数はこちらが要求したい数の半分くらいなので,これではちょっと厳しい。一文字ずつ出力していっていたからだろうが,コンソールでの出力はコストが高すぎる。
そこで一文字ずつ出力していくのではなく,出力する情報をためていってタイミングを合わせて一気に出す裏画面的な処理に変更してみた。
とりあえず一行ごとで試してみると,50文字くらいを16行ちょっと出力しても60fpsで安定。テアリング……というか単純な文字上書きのちらつきもなんか無くなった。これは助かる。
画面サイズは変化無しで決まっているのだから,いっそ画面全部分のバックバッファな文字列を予約しておいてそこに書き込んでいって描画処理時にそれを出力した方が速い気がする。

とはいえテストしていないので,行が1文字列と画面全部が1文字列のどちらが速いかわからない。文字が多すぎると遅くなったりして。ならないか。今度計測してみよう。

 ホーム 

コメント

コメントの投稿

URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。