0 Favourites

directx9 windowmode vsync bug

This forum is currently in read-only mode.
  • directx has problems to maintain stable fps with vsync on and higher monitor hz than 60.

    a bigger windowsize results in more fluctuations - from 1024 it becomes what i call really

    unstable - 1280 and up with high monitor hz is unplayable.

    tested on: ati and nvidia. dx9 aug08, dx9 jun10. 75,85,100,120hz. 640-1600 resolutions.

    this does not happen in opengl games.

    it does not happen in directx games fullscreen.

    it is a problem with all directx games i have tested, so not a bug in construct runtime. 3d games too.

    not tested on: win7

    solution: i have looked through various engines how they solve this because with unstable vsync

    the screen and the gameplay becomes unacceptable, the bigger the windowsize the worse.

    good console, arcade emulators or fps engines solve this issue with a frame cap.

    this is called fps cap, throttle, fps limiter, maxfps or something similar.

    so then your fps stay at e.g 60 frames per second with 120 hz vsync on. and gameplay stays stable and the same way even in window mode and high screen and window resolutions.

    devrequests

    1.: fps limiter command

    2.: ability to toggle vsync at runtime (or at least as startup switch, didnt found something like that)

    searched the forum and wiki for a solution based on events, i guess its not possible atm ?

    thanks in advance for answers and solutions

  • just tried some settings:

    50 and 60hz are stable

    85hz is unstable in between 1-5fps differences

    75,100 and 120hz are bad - if someone wanna test it, i recommend a window resolution minimum 1024, better 1152x864, 1280x720, 1280x960, 1280x1024 ..

    can be tested with every .cap game or even mame

    would be nice to hear from a win7 user if someone is interested and has time to try: set your monitor to 75hz and window mode with vsync on in your game

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • This is, as you say, something DirectX is doing, so we can't directly fix it. I think it's because the process priority is lower for windowed games, so it doesn't try quite so hard to sync up exactly. When fullscreen, you get a higher process priority because Windows assumes that's the only thing you're currently doing, and it v-syncs accurately.

    I think the solution is simply that for high quality v-sync you need to be fullscreen.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)
Similar Topics Posts Views Last Post
Unread hot topic
90 77,102
leonhard's avatar
leonhard
Unread hot topic
0 Favourites
random bugs and suggestions
90 4,517
Tom's avatar
Tom Construct Team Founder
Unread hot topic
71 8,591
massivemonster's avatar
massivemonster