07/12/30 12:35:00 2Gybvfhe
的外れなこと言ってるかも知らんけどとりあえず書いとく
>>614で出てる話だけど
自分の環境でもhmmでDirectGraphics若しくはDirectDrawを使って
ウィンドウモードで(フルスクリーンでも?)60fps出そうとすると
CPU使用率がほぼ100%になるという問題が出る
マニュアルによればDDRENEWALTIMINGもしくはDGRENEWALTIMINGで
fpsを設定してawaitは0にしておくのが普通みたいだけど
それだとfpsが10でもCPU使用率は100%になってしまう
(その代わり60を大きく超えるfpsでも出せるけど)
で、CPU使用率を低く抑えて、且つ大体60fpsを出すには
DDRENEWALTIMINGもしくはDGRENEWALTIMINGを66以上に設定して
awaitを1~15にすれば64fpsで安定して且つCPU使用率も小さくて済む
66以上と言ったけどもっと大きい方がCPU使用率はより小さくなる
(80ぐらいだと10%前後で済む)
それとこれはハードウェア環境の問題だろうけど
DirectDrawの場合システムメモリにスクリーンを確保しないと
await 0でも30fpsぐらいしか出ないのでビデオメモリには確保しないのが無難?
何でこうなるのか理屈が分かる人がいたら教えてください
RENEWALTIMINGで設定するfpsが65以下か66以上かで
何で急激にCPU使用率が変わってくるのか素人にはさっぱりです