2016-04-06 13 views

答えて

2

私はAndroidでOpenGL ESについて語りますが、IOS環境では似ていると思います。 Opengl ESを使用するには、さまざまな最適化操作を実行できます。あなたはOpenGLコンテキストを作成するときのOpenGL ESコンテキスト中

最適化が

、多くの "バッファ" が作成されます。

  • カラーバッファ
  • デプスバッファ
  • ステンシルバッファ

OpenGL coを最適化できます異なる動作とntextの作成:

  1. カラーバッファメモリ占有を減らす:これを行うには、あなたがピクセル形式を削減する必要があります。RBG_565それは深度バッファを作成しない
  2. 良いフォーマットにあります:あなたはそれを必要としません。
  3. ステンシルバッファを作成しないでください。必要ありません。

このような最適化は、主にメモリの占有を減らします。しかし、あなたが知っていた、あなたが管理しなければならないメモリは、より速くなります。あなたはシェーダと頂点プログラムを書くために持っているので、描画操作

最適化は、おそらく、OpenGL ESの2 +で動作します。

  1. これらのGPUプログラムはできるだけシンプルに保つようにしてください。 Androidでこれを行うには、NVIDIA Tegra Debuggerを使用します。しかし、私はTegra X1チップセットを備えたタブレットを持っているからです。
  2. クライアントのバッファにすることができます
  3. 事前計算のすべてVBOを好む:あなたは(すなわち:行列の射影)を最大速度ですべてのフレームを描画する必要があり、その何かが静的に定義されている場合は、フレームを描画するために開始する前に、それを計算します。
1

実際、この場合は何もしません。 OpenGLは3Dゲームエンジンではありません。 デフォルトでは、気になるオプションはすべて無効になっています。

デプスバッファは不要なので作成しません。 投影行列、ビュー行列などが必要ないため、多くの行列は使用しません。

要するに、必要のないものを有効にしないでください。

典型的なレンダリングパイプラインでは、必要がない場合は何も作成しないでください。

通常、長い2Dシェイダーコードは必要ないため、長いシェーダーコードを作成しないでください。

関連する問題