私は多くの小さなテクスチャでOpenGLアプリケーションを構築しています。私はある時点でスクリーン上に数百個のテクスチャを持っていると推測します。OpenGLでたくさんの小さなテクスチャを保存する
潜在的なパフォーマンスの問題を避けるために、これらのテクスチャをすべてメモリに保存することをお勧めしますか?
OpenGLがどのようにテクスチャを管理しているかを理解することにも興味があります。 OpenGLはそれらをGPUメモリに保存しようとしますか?もしそうなら、私はどれくらいのGPUメモリを使うことができますか?そうでない場合は、OpenGLがアプリケーションメモリからGPUにテクスチャを渡す頻度はどれくらいですか?これが起こると待ち時間が心配すべきですか?
私はOpenGL 3.3で作業しています。私は現代的な機能、すなわち即時モードのものだけを使用するつもりです。
+1テクスチャアトラス用。素晴らしい方法。私はそれを実装するのに十分なチュートリアルがあることを願っています。 – Marnix
ありがとう!それは素晴らしいです。チュートリアルについて:テクスチャアトラスのように思えるのは基本的にスプライトシートと同じですが、利用できるリソースはたくさんあります。質問:私が他の場所で読んだことは、通常、少なくとも256MBのGPUメモリを使用できることを示しています。テクスチャ+ジオメトリがそれを超えると、パフォーマンスが大幅に低下します。それは正しいと思いますか? – rlkw1024
@Jarrettローエンドのコンピュータをターゲットにしていないと仮定した場合、256 MBは非常に妥当な下限のように聞こえます。過去4〜5年のディスクリートグラフィックスカードを持っているものであれば、少なくとも256MBのVRAMが必要です。あなたがハイエンドの、より最近のコンピュータをターゲットにしているなら、あなたは少なくともその2倍に頼ることができます。専用カードを搭載したラップトップでさえ、一般的にVRAMを搭載しています。 – nonVirtualThunk