Wintermute Engine Forum
Wintermute Engine => Technical forum => Topic started by: Sothoth on July 25, 2013, 11:02:19 PM
-
Hi!
I've just create a fork of the Mnemonic repository in Bitbucket, and I've merge the VSync support from Kinjal sources (from http://kinjal.apeironstudios.com/wme-ke_v2.0_bin_src_26june2012.7z ).
The repository can be found in https://bitbucket.org/ricpelo/wme1 , and my addons/modifications are all in the "alphaaventuras" branch, in https://bitbucket.org/ricpelo/wme1/commits/branch/alphaaventuras .
I've tested it a bit and the VSync support works really good, as far as I can see. With VSync off, the mouse cursor has no lag in fullscreen and all seems to be more responsive. On the other hand, I can't see any perceptive lack of smoothness due to the lack of VSync.
I've tried even with some game demos, like Alpha Polaris, On The Track of Dinosaurs, or Face Noir, as well as the WME 3D demo (as you can see, all 2.5D games; I'm not interested on 2D games for now, sorry). All these games seems to be better with the VSync off.
The relevant commits are a4c53ab (https://bitbucket.org/ricpelo/wme1/commits/a4c53ab7a0220dc2f7cd56ea0dec63085786e6ad?at=alphaaventuras) (VSync support) and 49cc9b1 (https://bitbucket.org/ricpelo/wme1/commits/49cc9b1045703755e2c9b6327b76cb78cf210d59?at=alphaaventuras) (VSync = off by default).
DISCLAIMER! The above changes are totally untested apart from me, and I provide them without warranty of any kind. It's up to you if you use them. Hope this could be useful for somebody :)
Cheers!
-
Oh... Interestingly, disabling VSync fixed the slow save & load issue I commented here: http://forum.dead-code.org/index.php?topic=5530.0 . Now, save and load works in fullscreen as fast as in windowed.
-
More testing: the 2D wme_demo definitely shows smoother during scrolling scenes when VSync is off. The difference is not so big, but it is there. So I think the developer must choose between fast responsiveness vs smooth responsiveness. Anyway, the lack of smoothness is evident only on scrolling scenes, IMHO.
Just another 0,02 for the record ;)
-
Thanks, this is definitely useful.
Any chance to get a compiled version?
-
Thanks, this is definitely useful.
Any chance to get a compiled version?
Hi!
You can take a look at here:
https://dl.dropboxusercontent.com/u/183992/wme_D3D9.exe
That's my latest build. I've tested it against Avira & Malwarebytes, but please (disclaimer!) double-check you personally ;).
Hope this helps.
-
Works like a charm, thanks again!
-
I guess I am a little confused about the VSYNC thing and what it actually does with Wintermute. Can you explain and maybe post a before and after image? Thanks ???
-
Vsync (vertical synchronization) basically means, whether your video card waits until one frame is completely painted on screen, before starting to paint another frame.
If vsync is enabled, a new frame is painted immediately when it's ready, even though your monitor is still busy painting the previous frame. That means you can end up with half the screen containing the old frame and half the screen the new frame. In 3D games this results in the "tearing" effect, in 2D games it's typically not that apparent (unless the majority of the screen is changing).
The practical result is the game framerate. If vsync is enabled, the game is being slowed down by the monitor refresh rate (typically 60Hz, i.e. 60 frames per second). If vsync is disabled, the only limit is how fast the CPU and the videocard can produce new frames (and since WME scenes are usually not too complex, frames can be produced rather quickly).
In DirectX 8 the windowed mode used disabled vsync and full-screen mode used enabled vsync. In DirectX 9 the application can configure this, but by default WME uses the same settings as DX8 did for compatibility. The modification in this thread overrides this default setting.