2017-04-10 1 views
0

タイトルはここでの主な質問です。私はPyOpenGLコードをいくつか持っていましたが、私のコンピュータではPythonが少し動いていました。私はPyOpenGLをインストールしていないことに気付きました。これは速度をまったく変えませんでしたが、Python OpenGLバインディングのほとんどのチュートリアルでは、PyOpenGLアクセラレーションをインストールする必要があります。PyOpenGLは正確に加速しますか?

このモジュールは正確に何をしますか? documentationから

答えて

2

まず、PyOpenGL-accelerateは銀色の弾丸ではありません。これにより、既にアプリケーションを最適化していない場合、PyOpenGL-accelerateを使用しても、パフォーマンスが向上しません。

と言われています。 PyOpenGL-accelerateはCythonアクセラレータモジュールで構成されており、PyOpenGL 3.xのさまざまな側面をスピードアップします。したがって、描画するのにglBegin()glEnd()を使用している場合は、これから何のパフォーマンスも得られません。

Cythonアクセラレータモジュールとは何ですか?

これらのモジュールは完全に自己完結型であり、CPythonで実行される同等の純粋なPythonコードよりも高速に動作するように作成されています。理想的には、アクセラレータモジュールは、指定されたシステムでアクセラレーションされたバージョンが利用できない場合、代替として使用する純粋なPython同等の機能を常に備えています。 CPython標準ライブラリは、アクセラレータモジュールを幅広く使用します。もっと普通の言葉で

Python – Binary Extensions

Cythonは、PythonとCの間のミックスの話です。目標は最適化と実行速度です。

PyOpenGL-accelerateに関して、これは、PyOpenGLが提供するさまざまなヘルパークラスを意味します。代わりに、より多くのパフォーマンスを提供する方法で実装されます。

0

C(Cython)拡張のこのセットはPyOpenGL 3.xで遅いポイントの一般的な操作の加速度を提供大規模な配列を使用するコードでは、高速化は高速化されていないコードに比べて約10%です。

あなたが定義されている最適化正確に知りたい場合は、コードを掘ることができますが、OpenGLは通常、異なるハードウェアを考慮するために、驚くほど粗い最適化を中心に構築されている

- 私は通訳のオフにも実行するように拡張したと。

+0

私たちはまったく同じ時間に、2番目に答えました。それはかなり印象的です。 – Vallentin

関連する問題