We are upgrading the engine to DX11 as we speak… however, I don’t know how much impact that will have for people. It may improve performance a bit but I don’t expect it to work miracles, especially since most performance issues are CPU related.
We’re looking at additional things we can move out of the main thread but that’s a more difficult challenge. We already moved physics out of the main thread, which helped a lot but some of the bigger CPU intensive tasks are less easily separated.
A big part of the problem with GD is not that it’s graphically intense but that there is a lot of loading / unloading, enemy pathing and physics that place a heavy burden on the CPU. Frame rate can also fluctuate a lot, since by far, the biggest impact on frame rate occurs when the player gets near dense groups of enemies. This fluctuation causes it’s own problems, notably with v-sync.
As people have noticed above, v-sync can cause problems when framerate is near the v-sync thresholds. This isn’t due to our implementation, since v-sync is implemented at the graphics driver level but just a problem that might more often due to FPS fluctuating a lot. Everytime your framerate goes 1 FPS above or below the v-sync threshold, it switches to the next level and can cause a little hitch.
When I upgraded my system / monitor, I actually ended up with worse performance because of this and found that it improved significantly by turning v-sync off because my frame rate was often bouncing up and down around 120fps. With v-sync, every time it drops to 119fps or below, then back up, it will stutter. Likewise if your frame rate is frequently dropping below 60fps, then v-sync causes it to keep cutting back and forth from 60fps to 30fps.
So, good news - we’re still working on things that could improve performance… but I don’t know that any of it will be a silver bullet fix for any particular case. If you’re suffering from this v-sync issue, then the fix is going to be turning off v-sync or changing / adjusting your monitor and video card.