Sign in to follow this  

Horrible perf and weird spike pattern when rendering wireframe on NVIDIA

Recommended Posts

Hey Everyone, 


I'm having some really horrible performance when rendering my game in wireframe. It's becoming particularly annoying while working on terrain geometry LOD stuff. I only noticed the problem after upgrading my GPU from Nvidia GTX 670 to GTX 970. It could also be the drivers I updated to right after installing the new card, but I don't know. I should also mention I have the latest drivers(347.25) and they still have the problem. Before the GPU upgrade I had absolutely no performance change when switching between wireframe and fill. I'm using Windows 8.1 and have not tested the wireframe performance on AMD. This is most likely unrelated, but the gpu does make a high pitched wining sound that the internet says is a coil wine and it only happens when fps is really really high without v-sync on. 


The issue is frame rate tanks whenever wireframe rendering is enabled and there is a bizarre spike pattern. I attached a screenshot of my performance graph. Ignore the CPU tag at the bottom of the graph its actually overall frame time, all the wireframe performance issues are coming from the GPU. You can see on the graph after wireframe is enabled the frame time more than doubles and then the spike pattern starts. I also noticed that whenever I make the camera look down the frame time goes progressively up from about 50ms to over 300ms when looking directly down the vertical axis. 




I do wireframe with glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); with some stuff like final gbuffer render converting back to GL_FILL. I tried only calling glPolygonMode at wireframe enable and disable time, but that did not change the performance pattern at all. The actual tessellation of the meshes in the scene doesn't change the wireframe performance overhead at all. 


I'm hoping some of you might have some more insight into what the hell is going on, maybe you have some ideas on what the GPU/drivers are doing to cause the weird valley performance spikes. Any info would be appreciated. 



David Tse

Edited by Davidtse

Share this post

Link to post
Share on other sites

I do wireframe with glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); with some stuff like final gbuffer render converting back to GL_FILL

There could be many reasons. Eg you are suddenly rendering your backfaces, early zbuffer might fail more often due to looking through your models, expensive post processing steps needs more time due to not filled up stencils etc.


Best to pickup gdebugger and profile your code with it.

Edited by Ashaman73

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this