タグ付けされた質問 「optimisation」

2
仮想テクスチャリングは実際にどのように効率的ですか?
参考までに、私が言及しているのは、idTech 5のMegaTextureテクノロジーで最初に導入された(私が信じている)テクニックの「一般名」です。それがどのように機能するかについての概要を見るには、こちらのビデオをご覧ください。 私は最近、それに関連するいくつかの論文や出版物をざっと読んでいますが、どうすれば効率的になるのか理解できません。「グローバルテクスチャページ」スペースから仮想テクスチャ座標へのUV座標の絶え間ない再計算が必要ではないでしょうか。そして、それはジオメトリをバッチ処理するほとんどの試みを完全に抑制しないのでしょうか?任意のズームインを許可するにはどうすればよいですか?ある時点でポリゴンを再分割する必要はありませんか? 私にはわからないことがたくさんあり、このトピックに関する実際に簡単にアクセスできるリソースを見つけることができませんでした。

2
状態を変更するコストはいくらですか?
プログラマーは、特定の操作のコストについてかなり良い考えを持っているはずです。たとえば、CPUでの命令のコスト、L1、L2、またはL3キャッシュミスのコスト、LHSのコストなどです。 グラフィックに関して言えば、私はそれらが何であるかほとんどわからないことに気付きます。コストで注文すると、状態の変化は次のようになることを心に留めています。 シェーダーの均一な変更。 アクティブな頂点バッファーの変更。 アクティブテクスチャユニットの変更。 アクティブシェーダープログラムの変更。 アクティブなフレームバッファの変更。 しかし、それは非常に大雑把な経験則であり、正確でさえないかもしれません。単位、ns、クロックサイクル、または命令の数を入れようとすると、どれくらいのことを言っているのでしょうか?

2
GL_STATIC_DRAW対GL_DYNAMIC_DRAW対GL_STREAM_DRAW:それは重要ですか?
OpenGLでバッファオブジェクト関数(glBufferData、glBufferSubData、そしておそらくいくつかの他)は、パラメータ持つusage可能性の高い実装歩留まりより良いパフォーマンスを助けるためのもの使用目的、のヒントとして文書による説明を。 使用法 データストアの予想される使用パターンを指定します。シンボル定数でなければなりませんGL_STREAM_DRAW、GL_STREAM_READ、GL_STREAM_COPY、GL_STATIC_DRAW、GL_STATIC_READ、GL_STATIC_COPY、GL_DYNAMIC_DRAW、GL_DYNAMIC_READ、またはGL_DYNAMIC_COPY。 [...] 使用法は、バッファオブジェクトのデータストアへのアクセス方法に関するGL実装へのヒントです。これにより、GL実装は、バッファーオブジェクトのパフォーマンスに大きな影響を与える可能性のあるよりインテリジェントな決定を行うことができます。ただし、データストアの実際の使用は制限されません。 wikiも同様にあいまいです。 結局のところ、これらはヒントにすぎません。作成後にSTATICバッファーを変更すること、またはSTREAMバッファーを変更しないことは、完全に正当なOpenGLコードです。 [...] これらは、慎重なプロファイリングでのみ回答できる質問です。そして、それでも、答えはその特定のハードウェアベンダーからの特定のドライバーバージョンに対してのみ正確になります。 結局のところ、このパラメーターはどの程度関連性がありますか?ドライバーは実際にそれを考慮に入れていますか?それを考慮に入れている場合、実際のパフォーマンスにどの程度影響を与えますか?共有するデータはありますか? 私は既存のAPIのいずれかとして実装されることを意図した薄いグラフィックAPI抽象化レイヤーを作成しました。このパラメーターを完全に無視して、公開された抽象化からそれを非表示にしたくなります。

1
最新のハードウェアがリアルタイムを維持しながらシーン内のポリゴンをいくつ到達でき、そこに到達する方法は?
かなり基本的な、ある意味では質問ですが、私も含めて多くの人が答えを本当に知りません。GPUメーカーは非常に高い数値を引用することが多く、さまざまなゲームエンジンがサポートすると主張するポリゴン数のばらつきは、多くの場合、数桁に及び、依然として多くの変数に大きく依存しています。 これは広く、かなり自由回答の質問であることを承知しており、お詫び申し上げます。それでも、ここで貴重な質問になると思いました。
11 gpu  optimisation 


2
最新のGPUで頂点データを整理する最もパフォーマンスの高い方法
私が頂点で構成モデルでは、各持っていると言うposition、normal、tangent、およびtexcoord三角形がインデックストリプルによって指定された属性を、。 頂点の属性だけに注目すると、配列の構造と構造の配列という2つの広範な戦略に気づきます。また、構造体の配列は、特定の頂点の属性のメモリの局所性(したがってキャッシュの局所性)を増加させるため、優先されると聞きました。 これが実際にパフォーマンスを向上させるのですか?これが起こると私が考えることができる主な方法は、長い間キャッシュから削除された頂点データをラスタライザが取得する必要がある頂点インデックスによるものです。頂点データへのアクセスがこのようにランダムである場合、同じキャッシュライン上の頂点のすべての属性を保持すると、確実に処理が速くなりますが、これは、三角形の指定の順序を最適化することでほとんど軽減できる問題ではありませんか? さらに、最近のGPUは、多くのタイプの構造のベクトルよりも、同じタイプの長いベクトルをアンパックする方が優れている可能性があることを理解しています。インデックスの順序が最適化されている場合、配列構造のレイアウトが同じ頂点データの構造配列のレイアウトを一貫して上回ることは可能でしょうか?

1
テクスチャキャッシュはタイルベースのレンダリングGPUでどのように機能しますか
キャッシュはタイルベースのレンダリングでどのように機能しますか? キャッシュヒット率を向上させるためのヒントはありますか?(たとえば、タイルが水平方向に処理され、同じテクスチャを持つ三角形の垂直セグメントがある場合、水平方向に三角形のレイアウトを配置する場合よりも、キャッシュの方が機能しませんか?)

2
Y'CbCrを使用して、2つのR11G11B10Fバッファーを1つにエンコードしますか?
照明を最適化しようとしています。統合グラフィックチップは、メモリアクセスが非常に遅いです。 2つのライトバッファーがあります。1つは拡散反射光用、もう1つは鏡面反射光用です。どちらもフォーマットR11G11B10Fを使用します。2つのバッファーを1つにパックする方法はありますか?たとえば、カラーモデルY'CbCrを使用します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.