Sorry to bother you with this again, but I would really like to have a fine terrainengine.
This is the second round for tips on my terrainperformance, since I implemented everything from the first thread and I'm still not satisfied.
What I have already implemented is:
- Only allocate memory at the start of the programm
- Only create buffers at the start
- Send a stream for y-values and shadows, so I need to have only one vertex+indexbuffer per LOD-level, and a one updated per chunk for y and shadows
- Update buffers per chunk, only when needed (wrappers)
- Compressed textures (BC3)
- 16-bit values for X and Z
- Reduced buffersize
- Buffers 32-bit aligned
- chunksize: 257
- terrainsize: 4096*4096, but I want to go much larger
- Hardware: My gaming notebook which can run about everything
- Visionrange: 1000
- Updateing Buffer with d3d11DevCon->Map() for each chunk (y and shadows)
- FPS: 25 when in the middle of the terrain
- No multithreading
- No water or other objects drawn
- 3 textures, 1024*1024 each, compressed
- Space between two points at LOD0 is 1
Edited by gnomgrol, 02 August 2012 - 10:33 AM.