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ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
同期待ち(同期を待つわけでは無い)のコードをfps表示と同じクラスにぶち込んだ方が利用しやすいだろうということで整理していたら,何やらfpsが安定しなくなった。60fpsで回しているのに58ちょっとになったり61を超えることもしばしば。これはよろしくない。
重いというわけでは無く,原因は待ち中のループ時に入れているSleep処理らしい。ちょっと寝過ぎているのか早起きなのか数周分のズレが発生している様子。処理をコメントアウトしたり猶予の数値変えたりすると60fpsで安定する。
とりあえず2ミリ秒くらい猶予設けて,ついでに寝たフラグで整流してみたら安定を取り戻したけど,なんかちょっとスッキリしないので辛い。
タイマー自体はStopwatchクラスで計測しているので,Frequencyでとってきた1秒あたりの数値を任意設定した希望fpsで割ったものを1フレームとして計算しているので,Sleepさんが欲しがるミリ秒としての数値としては相応しくないので,コードを分化する前はElapsedMillisecondsを突っ込んで済ませていたのだけど,現在はFrequencyと希望fpsから計算した1ミリ秒あたりのカウント数から現在のラップタイムを導き出している……とか書いていたらなんか普通にタイマー参照すれば無駄な計算無くなるんじゃないかって気がしてきた。
次回やってみよう。

あと問題があるとすれば,キー入力に先行入力の気配がある。長いこと押されていても,1フレームで入力を受け付けるのは1回までにしたいのだけど,fpsを極端に落とすと(たとえば1fpsとかにする)ちょっと長押しするだけではっきりわかるくらい別のキー入力まで長押ししたキーの処理が続く。30fpsでもたまに感じて,60fpsではあまり感じることはない……とはいえ,発生しているようなので,これは何とかしたい。STGの自機移動のように押しっぱなしで反応するタイプのゲーム用にチューンした結果これではいかんですよ。

 ホーム 

コメント

コメントの投稿

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

トラックバック


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



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