掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
処理速度を上げるには (ID:67512)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
遠山です。あまり参考になるようなコードではないのですがとりあえず書いておきます。 wiile文がメッセージループになります。C++で書いていますがPC9801.ExecCmdがメインで98の命令を実行しています。 SetHsync,SetVsyncはただフラグをセット、リセットしているだけです。 VC++6.0のProfessional Editionで最適化すると速度が倍近く上がりました。意味はわかりませんが Windowsライブラリが最適化されたのだと思います。 while(1){ if ( LoopCnt >= 2000 ){ if ( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) ){ if ( !GetMessage( &msg, ( HWND )NULL, 0, 0 ) ) { break; }; TranslateMessage( &msg ); DispatchMessage( &msg ); } LoopCnt = 0; } LoopCnt++; PC9801.ExecCmd(); if ( HsyncCnt >= 125 ){ if ( hsync == FALSE ){ PC9801.SetHsync(); hsync = TRUE; } else{ PC9801.ResetHsync(); hsync = FALSE; } HsyncCnt = 0; } if ( VsyncCnt >= 50000 ){ if ( vsync == FALSE ){ PC9801.SetVsync(); vsync = TRUE; } else{ PC9801.ResetVsync(); vsync = FALSE; } VsyncCnt = 0; } for(i=0;i<WaitTable[0];i++) // この部分はウェイトは入っていません WaitTable[29] = WaitTable[0]; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.