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