performance dropping when camera move / rotate with frustum test

Hello,

(sorry for my poor english)

I am trying to make a game like Dungeon Master but in voxel style. I divided my dungeon in 32*32 chunks. Each chunk can contains 12’000 cubes but most of the time no more than 500 cubes.

  • When I walk in my dungeon with no frustum test, all is ok. Low framerate (~70fps) but smooth (1024 chunks to draw).
  • When I use frustum test I draw ~60 chunks and my frame rate is better (~ 200fps) but no more smooth when I walk…

Problem:

  • I walk to chunk to another chunk. Frame length is about ~5 milliseconds but suddenly one or two frames length will be ~200 milliseconds… and come back to ~5 milliseconds.

I use a big Vertex Array with all data and each chunks have a pointer on the array. I have same problem with VBO. I have ~2’000k triangles well shared between chunks.

I think it’s something like that :

  • frustum test choices 50 chunks
  • opengl : yeah I render that fast
  • camera move
  • frustum change and choices 45 chunks
  • opengl : oups these are not same vertices to draw I have to do something
  • opengl : I take 200 milliseconds, but it’s ok now, I render fast again.

I hope you understand what I mean. Truly sorry for my english :slight_smile:

Any idea ?

Thanks,
oldteen

Edit : I use lwjgl and an old graphic card : NVidia Quadro FX 580. I will try later on AMD modern card.