ユーザ用ツール

サイト用ツール


2026:02:23

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
2026:02:23 [2026/02/23 15:50] machiaworx2026:02:23 [2026/02/23 22:37] (現在) machiaworx
行 21: 行 21:
   * これなら軽く作るだけであればスクリプトで画面を作れるようにする手はありそう。   * これなら軽く作るだけであればスクリプトで画面を作れるようにする手はありそう。
   * 実際Update関数はそれほど凝った作りにしていなくて、これをスクリプトにするというだけなので。   * 実際Update関数はそれほど凝った作りにしていなくて、これをスクリプトにするというだけなので。
 +
 +----
 +  * レイトレーシングを描画していたら何故かGDI描画だけがFPSが遅くなる影響あったので、レースコンディションが発生してるのか確認するため排他制御をかけて処理してみた。結論から言うとまったく関係なかった。
 +  * ソースコード・コンパイラ・IDEについては同じものを利用しているため、あとは最終的な描画方法に起因する速度の違いかなと考えた。そうなると残念だがレイトレについてはGDIだと遅いよ、というほかない・・・
 +  * ちなみにもう1個スレッド立ててDraw関数をぶん回してみたところ、ティアリングに近い挙動が発生したのでこれは無理だと思った。
 +  * 具体的にはメイン・ウィンドウ・Draw関数スレッドを立てたけど、ウィンドウの更新が中途半端になる等これは無理だと結論づけるレベルだった。
 +  * GDI描画の場合、Draw関数(実際に仮想スクリーンに描画する関数)→BitBltを1スレッドで行っているため、ここで他ライブラリよりCPU負荷が大きいのが原因かな?と結論付けた。
 +
 +----
 +  * 画像の切り取り処理がうまく動いてくれなかったので確認してた。
 +  * データの抽出の仕方がうまくなかったことが原因だった。
 +  * 相対座標だけで対応しようとしてたけど、データの長さはデータ自体の幅と高さを参照しないとそりゃあうまくない。
 +  * これだけで1時間くらいかかった気がする。
2026/02/23.1771829451.txt.gz · 最終更新: 2026/02/23 15:50 by machiaworx