wenshangquan / kuradevsandbox

Automatically exported from code.google.com/p/kuradevsandbox
0 stars 0 forks source link

タイムコードの調整 #7

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
タイムコードの調整

Original issue reported on code.google.com by taku.h72 on 12 Dec 2010 at 8:58

GoogleCodeExporter commented 8 years ago
r13で実装したタイムコード調整手法は
・再生速度が読み込み速度より早い
・1ms単位でのwait処理が可能
・シークが行われない
・途中で再生速度が変更されない
というのが前提の仕様になってる。

フレームスキップ処理はどうやって解決するかいい案がい��
�は思いつかないかな。
スキップ手法としては
1.画面出力だけをスキップ
2.フレームのロードが追いつかない場合は数フレーム先��
�シーク処理を行う
という2種類の方法があるけど、どうこの2種類の方法を選択
するか…かな。

再生速度とシークを可能にする為の解決策については
・実時間再生を開始する時に「startの内容をシーク位置から
逆算した値で再初期化」する
という方法で解決かな。

1ms単位でのwait処理に関してはWindowsVistaだとSystem.Threading.Threa
d.SleepでもWin32APIのSleep関数でも十分な精度で1msのSleepが行わ�
��てるのを確認できたからVista/7は深く考えなくて問題なし��
�
一応うちのWindowsXP 
SP3だと2.2ms単位だったからぎりぎり許容範囲内で調整できる
と思う。
環境によってはマルチメディアタイマーを使わないと10~11m
s程度になる可能性もあるかと。
おまけとしてSleep(1)を1000回ループして計測した結果を添付��
�ておくよ。

Original comment by sasraing@gmail.com on 12 Dec 2010 at 12:26

Attachments: