0

glm と glut を使用して c++ から LWJGL、java にボリューム レンダラーを移植しました。ボリューム レンダラーは、3D テクスチャを持つシェーダーを使用します。何らかの理由で fps が ~35 fps に固執します。シェーダーをトリミングしてみましたが、fps に影響はありません。

プロファイラー出力: ここに画像の説明を入力

Java クラス: http://pastebin.com/K61mWzL

制限要因は、サイズが大きいためにおそらくグローバルメモリに格納されている 3D ボリュームへの呼び出しである可能性がありますか? ボリュームへの呼び出しの数を大幅に減らしたので、これは奇妙です。

編集: また、Netbeans プロファイラーはフレームごとの時間を提供しませんが、代わりに合計時間を表示します。サンプルの数はわかりますが、時間をサンプルで割ると、私の計算によれば約 10 fps になります (つまり、display() には 16 個のサンプルがあります)。Netbeans プロファイラーのフレームごとの正確な時間を取得するにはどうすればよいですか? (この質問に関連)

4

1 に答える 1