トップページgamedev
986コメント278KB

HSP - Hot Soup Processor [15]

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。2007/06/03(日) 14:49:29ID:15sfFksi
       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 歴代スレ、関連サイトは >>2-4 あたり
    ヽ ──── '

  ONION software (本家)
   http://www.onionsoft.net/
0950名前は開発中のものです。2007/12/30(日) 12:35:00ID: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使用率が変わってくるのか素人にはさっぱりです
0951名前は開発中のものです。2007/12/30(日) 12:51:22ID:2Gybvfhe
って考えてみれば
要するにRENEWALTIMINGで設定された画面更新のタイミングが
awaitの待ち時間によって決まるfpsよりある程度
大きくないといけないっていう話か
まあそれでも理屈がよく分からんことに変わりはないけど…

それとDirectDrawの方はDDSETRENEWALTIMINGだった
レス数が950を超えています。1000を超えると書き込みができなくなります。