LoginSignup
0
0

More than 3 years have passed since last update.

OpenGLでVBOを使って数万頂点でFPSが20しか出なかったときの改善法

Posted at

OpenGL(LWJGL)を使って3DレンダリングをしていましたがFPSが20しかでず、明らかに頂点数の割にFPSが低くて問題解決に悩まされました。
解決後は60FPS出ています。GPUの使用率も10分の1くらいになりました。

試したこと

  • Instanced Drawする
  • インターリーブ形式のVBOを使う

最終的な解決方法

glVertexAttribPointer(0, 3, GL_DOUBLE, false, 20, 0);

頂点データをGL_DOUBLEで登録するのがいけなかったようです。double値だと計算に時間がかかるのかなんなのかは知りませんがとにかくdouble値はできるだけOpenGLで扱わないほうが良さそうです。

glVertexAttribPointer(0, 3, GL_FLOAT, false, 20, 0);

こうやってfloat値で登録します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0