2

古いラップトップに Linux (Debian) をインストールし、それを使って OpenGL アプリケーションを作成しています。画面の小さな部分にテクスチャを描画すると、フレームレートは約 80 fps で巡航します。画面のより大きな部分にテクスチャを描画すると、フレームレートが大幅に低下します。フルスクリーン テクスチャは fps を 12 に落とします。

ハードウェアがより高速にレンダリングできることはわかっています。openGL がソフトウェア モードで実行されていたとしても、それでもかなり遅いようです。

これを診断する方法についてのアイデアはありますか?

私が試したこと:

  • glxinfo は、ラップトップがハードウェア アクセラレーション OpenGL レンダリングに対応していることを知らせてくれました。ソフトウェアで実行されていないことは確かではありませんが、ラップトップがハードウェア opengl で実行されるようにセットアップされていることは確かです。

  • 深度バッファを捨てて、ラップトップがサポートする解像度で 24 ビットの画面バッファのみを要求しています。(まだバックバッファあり)。

  • GL_TEXTURE_MIN_FILTER、GL_LINEAR から GL_TEXTURE_MIN_FILTER、GL_NEAREST に切り替えると、いくつかのフレームが戻ってきましたが、20 fps をわずかに超える速度でホバリングしていて、それでも遅すぎます。

  • glShadeModel( GL_SMOOTH ) から glShadeModel( GL_FLAT ) に切り替えました。スピードが出ませんでした。

  • テクスチャを頂点ポインタおよび glBegin( GL_QUADS ) 呼び出しとしてレンダリングしてみました。

4

1 に答える 1

0

BILINEAR (GL_LINEAR) から NEAREST に切り替えるとフレームレートが向上する場合は、間違いなくソフトウェア レンダラーを実行しています。

コマンドラインからこれを行ってください(これは私のOSXからのものですが、Linuxでも同様のはずです):

# glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce 8600M GT OpenGL Engine
OpenGL version string: 2.1 NVIDIA-1.6.26
OpenGL shading language version string: 1.20
OpenGL extensions:
于 2011-06-04T05:30:47.333 に答える