Archived

This topic is now archived and is closed to further replies.

SoaringTortoise

Argh!

Recommended Posts

Howdy, A few months ago I got myself a nice and shiny GeForce4 9700. Since then, I have done a whole bunch of major changes to my terrain engine, and each change has increased my detail while maintaining my frame rate. I have just tried the thing out on my old GeForce2 and it runs at around 2 frames per second! In the beginning, on my GeForce2 (32MB), I was drawing the terrain using about 100 DrawPrimitives, with a texture swap between each call and two-pass texturing. The frame rate was at around 40 frames per second. Now, I''m loading a single texture and splitting it, and rendering the exact same amount of geometry with 10 drawprimitive calls and multi-pass texturing, but it''s dropped the fps to 2! Now, there are a couple of things that I think might be causing this. Firstly, the texture is 2048x2048 pixels. I''ve put in a low-detail texture option that allows me to load this as 1024x1024, but it gives me a measly gain of 4 fps. I can''t really lower this any further because it''s being split into 16x16 tiles, and a further degradation would just make the tiles color-blurs with practically no detail. Secondly, my terrain is now using an FVF that contains diffuse and lighting, which I suspect has increased the memory required to hold the VB. However, I also have a terrain LOD that allows me to 1/4 the number of polygons, and that makes no difference at all. The rest of the render loop hasn''t changed much at all (except for the use ofa DirectInput routine for mouse input), so I figure it has to be a memory swapping thing. I just don''t know how to fully verify this, nor how to get around the issue. I''m not doing any other interesting thing... just rendering primitives. No pixel shaders or other exotic technology. Learning to fly is easy, but as a tortoise, the landings are really rough.

Share this post


Link to post
Share on other sites
quote:

I''ve put in a low-detail texture option that allows me to load this as 1024x1024, but it gives me a measly gain of 4 fps.



Hmm... I guess that means one of two things. Either the texture and VB are competing for VRAM or you''re sampler/fill bound.

See if dropping the texture size to 1x1 makes a huge difference, in which case you need to split up your VB into smaller chunks.

Otherwise, try reducing your frame buffer to 320x240 and look for a huge increase - in which case you need to draw fewer passes.

Share this post


Link to post
Share on other sites
OK, but I am right in assuming that loading the texture with different width & height parameters actually DOES influence how much memory gets assigned... yes?

Learning to fly is easy, but as a tortoise, the landings are really rough.

Share this post


Link to post
Share on other sites