I've done a bunch of searching and problem solving. Things I've tried:
Vsync: on / off
Disabled mod: WaiTex
Nvidia control panel: Prefer maximum performance
Video memory usage: All / High / Medium
Graphics Quality: Normal / Low
None of the above solved the issue. Video memory usage without WaiTex is ~800 Mb of 4096, with WaiTex enabled it's ~1500. My video card is an Nvidia GTX 980, which can run Factorio in its sleep. I ran across this post: viewtopic.php?f=49&t=16503 in which Athmagor states in the 5th paragraph:
This sounds suspiciously like what I'm experiencing. Except in his case he said he solved it by enabling vsync, wheras I've had it enabled the whole time (except when testing the issue). So I would modify the above statement to say, "It appears the game every now and then desyncs itself from the monitor refresh rate and stutters, then after 2 or 3 seconds synchronizes itself again".What it looks like is that without VSync the game every now and then desyncs itself from the monitor refresh and gets into not really tearing but more of a stutter. After 2, 3 seconds it gets back into the margin of synchronicity and the gameplay is smooth again.
Windows 7 x64
Intel i7 920 @ 3.54 GHz
Nvidia EVGA GTX 980 4gb Superclocked
System RAM - 12Gb
Game Installation is on an SSD drive
Any help would be appreciated.
Edit: Just tested with FRAPS, and the game is dropping from 60 FPS to ~45 FPS during the lag spikes. Driving in my car back and forth I can cause it to happen every 20 seconds or so. I doubt it's a graphics issue, as even with the graphics quality set to low it still happens. Seems more like the game engine itself is stuttering when updating entities or something. I really don't know what to think at this point. I can play any high-end game just fine (Fallout 4, max settings, lots of mods, etc... for example).