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.