Download

Lag Spikes and draw call spikes when turning stationary camera.

I get lag spikes when i turn the camera back and forth but the frame rate is fine when standing still. What i notice is when i turn the camera the draw calls MAX jumpes to 3000 even though the AVERAGE says 1000. But when the camera holds still that MAX 3000 falls down to 1200 or so… so why? How do i optimize something like this? The scene has low enough draw calls… but it spikes with movement… so what is there to do here? Is this a bug? Seems like I have been asking this question or some variation of it forever and no one can give me a straight answer yet. Its a MAJOR flaw so far… seems like the engine just sucks at culling if u rotate the camera. Getting tired of it. Is this an unfixable problem?

That makes sense, since things will come into view that weren’t visible before. What I’m guessing why the draw calls drop after you stop moving is that it’s likely loading some things into memory as you turn the camera so that they are loaded fully before they are on-screen, otherwise things will pop in when they should already be visible. Also make sure that you aren’t using unnecessary draw calls. If you have very simple meshes then it’s better to combine them because they would have little impact on memory.

I should record a video of this… i have texture streaming turned off… so its not like its loading in new textures. Models should already be in memory shouldnt they? And why would draw calls drop if NEW things are being loaded in…? the number is going down from standing still not up…

Both looking to the left and looking to the right are at 1000 draw calls, but if the camera moves back and forth its at 3000-4000 until you stop moving for 3 seconds or so. After that 3 seconds the max is at 1200.

AND THEN THERES THE fact that even in a 125 draw call room… it jumps to 1500 draw calls… and no… nothing else is coming into view… im staring at a wall… it falls back down to 125 draw calls when i stop moving … but if i rotate back and forth its way up there at 1500

To anyone who is curious… the draw call spikes dont effect it as much as i thought it would. Main issue was texture memory. I was dealing with a gtx 590 but i realized that only half the memory is taken advantage of on that card so i had half the budget. Seems like once i aggressively lowered texture memory it moved a lot better… espeacially when i re enabled streaming… streaming was terrible before this, but now it helps a lot…

Once you start turning the camera it has to load more things into memory, once you aren’t moving then it doesn’t

Lowering memory does help a lot with it, but doesnt explain the draw calls themselves. I doing VR project and need to maintain 90fps… its rough when an extra 1000 draw calls appear for a few seconds…for no apparent reason while staring at a wall… Seems like there isnt a way around this. At this point im shooting for large massive lods that take away all the smaller modular meshes…

Whenever the camera view changes, whether it’s moving or it’s turning, the number of draw calls will change, when it stops that should go down to a number and stay there until something changes.