The problem is that there's no sync mechanism inside spout. We cannot know when the texture was updated (see http://spout.zeal.co/forums/topic/sender-receiver-sync/
). With Syphon we get a callback when the texture has been updated so synchronization is easy. We get a new syphon frame => we produce a new frame based on this new texture.
With Spout, we're not aware a texture was updated. When using a spout source, we produce a new frame at the frequency of the screen/projector attached to first projector in MadMapper (in youur case, your 4k screen, at 60 FPS I suppose). We're not sure that the other process already published the spout update. Depending on the driver, the OpenGL swap will be blocking or not and synchronization will be better or worst.
Maybe it will be improved by some developments we're working on to get a better VBL synchronization on Windows.
Actually testing with another OpenGL application => SpoutReceiver, I also see glitches, without MadMapper involved.
Maybe Unity => SpoutReceiver works better because both are D3D based.
At the moment you can try to tweak using SpoutSettings to switch to DirectX9, or change the Share mode. If you see anything better changing those settings, let us know.
Matt - MM team