- 626 名前:名前は開発中のものです。 mailto:sage [2014/08/03(日) 02:46:28.41 ID:EfCs0Vyy.net]
- よくゲーム高速化のために更新スレッドと描画スレッドに分けるとかいうけど、あれどういう仕組みなの?
更新と描画が別スレッドで動いてるってことは、どこかでデータの同期が必要じゃん? 1)更新スレッドと描画スレッドが同時に動いている 2)両方のスレッドが1フレーム分の仕事を終えるのを待つ 3)同期。更新スレッドから描画スレッドへ、描画に必要なデータをコピーする 4)1に戻る ってなると思うんだけど、このとき手順3では具体的に何をコピーしてるんだろ?いや、いろんな実装があるんだろうけどさ。 描画スレッド側で、テクスチャや頂点情報まで全部用意して、更新スレッド側では本当にただDrawPrimitiveを呼び出すだけみたいな状態までお膳立てしているのか (更新スレッド側の作業量が増えて、コピー量も増えるよね。そのかわり描画スレッド側はすごく単純な処理になる) それともキャラクターの位置と姿勢と状態みたいな抽象的な情報だけを描画スレッドに渡して、具体的にどう描画するかってのは描画スレッド側がやるのか (コピー量は減るけど描画の負担がめっさ増えるし、どのキャラクターをどうやって描画するのかっていう手順を描画スレッド側が「知っている」必要があるよね?) 実際に更新と描画スレッド分けて運用している人がどんな風にやっているのか、知りたい。
|

|