したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

技術情報交換スレ

2Mystle </b><font color=#FF0000>(M.B.S.4s)</font><b>:2004/06/16(水) 21:51
とりあえず >>1 からネタ振り

21f→21g/h で発生した「特定の環境でタイマーがガクブル問題」ですが、とりあえず
原因となる箇所は判明しました。
DX乗っ取りで実際に書き込みを行うタイミングを変更したのが原因だったようです。

○21f
 2D書き込み:
  窓モードでは DirectDrawSurface->Blt() 、フルスクでは Flip() のタイミングで
  GetDC() してGDIでプライマリサーフェスに直接描画、あるいは自前サーフェスからBlt()
 3D書き込み:
  Direct3DDevice->EndScene() のタイミングで DrawPrimitive() などを投下
  
○21g/h
 3D書き込み:
  EndScene() で (21fと同じ)
 2D書き込み:
  EndScene() で 3D書き込みを行った後に保存しておいたプライマリサーフェスの
  ポインタを使って GetDC() して以下略

というわけで 2D書き込みのタイミングを3Dのそれと一本化したのがまずかったようで。
これがどうしてまずいのかは不明です。




掲示板管理者へ連絡 無料レンタル掲示板