Results 1 to 13 of 13

Thread: V-Sync versus Planets...

  1. #1

    V-Sync versus Planets...

    Ok, so this has been bothering me for a while.

    When on a planets surface, in my ship (but oddly not the SRV), my FPS, regardless of detail would fluctuate up and down while flying fast(ish). It'd run at 60fps, hen dip down to 30~fos in a "wave" kind of motion.
    A good example is to boost, then simply try to do a smooth barrel roll. The movement felt jerky, and odd.
    Fly in to space. Perfectly fine.
    Fly the SRV, fine.
    Ship. Laggy. Lol

    I finally realised V-Sync had turned itself back on (along with setting my resolution too high?).

    Turn V-Sync off, and the flight it smooth, but now I just get tearing when I'm in space at 200~ FPS!
    And my frame limiter doesn't seem to limit anything. Lol

    This is on a Geforce 770 2GB, with latest drivers, and it's been doing it on all drivers for a long time, but didn't do it on my HD 6870 1GB (but that could be because it couldn't do 60fps on a planet anyway). My PC is connected to a Samsung smart TV, but the TV disables all its fancy image gubbins for my PC so it's not that. Probably.

    Anyone know why V-Sync has become evil?

    CMDR Cosmic Spacehead

  2. #2
    Welcome to why freesync was invented.

    with vsync on, all physics simulation needs to take place in the time left over between the graphics code execution and the time of the next vsync frame ...so in 60fps this is 1/60th of a second. If the physics or rendering code takes too much time within that 1/60th of a second, then the framerate drops. If it takes much less, the engine has to sit idle until the vsync frame passes and it can start the next frame.

    With vsync off, all the same things occur, but if the engine completes it's tasks quickly, it begins on the next and if for some reason it hits a particular lengthy rendering/physics simulation task, this extended frame gets averaged out ...and overall, your framerate is still acceptable. But this causes tearing.

    Freesync gives you the best of both worlds.

    You're just hitting upon issues where the physics/rendering frame is taking a bit too long. Vsync keeps you from being able to utilize the wasted time in easier frames to offset the time of harder ones.

    edit: and if you're an nvidia fan, replace freesync with gsync and add a hundred bucks.

    and to be clear. with vsync on, you only get to update the monitor during a vsync event. If you aren't ready for it, you have to wait until the next one 1/60th of a second later. With it off, if you miss the vsync it doesn't stop you from updating the monitor when you are ready. This could occur 1/100th of a second after the vsync event, but anything less than 1/60 ends up leading to less of a noticable framerate drop at the expense of image tearing.

    Freesync basically says "I'll update the monitor when you're ready...just let me know" so you get on-demand monitor updates ...so the benefits of vsync off without the image tearing.

    planetary surfaces use a lot of shader horsepower. When you rotate, you're getting more or less of the surface of the planet in your view. This alters how much rendering needs to be done and alters how long the graphics frame is taking. In empty space, there is no such surface shaders to alter how much gpu/cpu is required to render the frame.

  3. #3
    Thanks!

    I doubt my TV supports either free/g sync, so I'll just have to deal with the tearing, unless FD fancy adding a "disable V-Sync on planets only" option. Lol

  4. #4
    Don't use the client for this; use the Nvidia Control Panel and set Vsync to fast. Client-side vsync in E:D is rubbish.

  5. #5
    Originally Posted by CMDR_Cosmicspacehead View Post (Source)
    Ok, so this has been bothering me for a while.

    When on a planets surface, in my ship (but oddly not the SRV), my FPS, regardless of detail would fluctuate up and down while flying fast(ish). It'd run at 60fps, hen dip down to 30~fos in a "wave" kind of motion.
    A good example is to boost, then simply try to do a smooth barrel roll. The movement felt jerky, and odd.
    Fly in to space. Perfectly fine.
    Fly the SRV, fine.
    Ship. Laggy. Lol

    I finally realised V-Sync had turned itself back on (along with setting my resolution too high?).

    Turn V-Sync off, and the flight it smooth, but now I just get tearing when I'm in space at 200~ FPS!
    And my frame limiter doesn't seem to limit anything. Lol

    This is on a Geforce 770 2GB, with latest drivers, and it's been doing it on all drivers for a long time, but didn't do it on my HD 6870 1GB (but that could be because it couldn't do 60fps on a planet anyway). My PC is connected to a Samsung smart TV, but the TV disables all its fancy image gubbins for my PC so it's not that. Probably.

    Anyone know why V-Sync has become evil?

    CMDR Cosmic Spacehead
    Consider lowering the workload bar, with planets graphic cards are generally doing even more then normal so things like this can happen.

  6. #6
    Originally Posted by the100thmonkey View Post (Source)
    Don't use the client for this; use the Nvidia Control Panel and set Vsync to fast. Client-side vsync in E:D is rubbish.
    Yeah, I second this. I noticed tearing (especially when using headlook on planets) and found that if I turned in-game v-sync off and instead turned vsync on for elitedangerous.exe in the nvidia control panel the problem went away.

  7. #7
    Originally Posted by the100thmonkey View Post (Source)
    Don't use the client for this; use the Nvidia Control Panel and set Vsync to fast. Client-side vsync in E:D is rubbish.

    This. Either fast or adaptive if you have a lower average frame rate.
    Adaptive VSync
    Nothing is more distracting than frame rate stuttering and screen tearing. The first tends to occur when frame rates are low, the second when frame rates are high. Adaptive VSync is a smarter way to render frames using NVIDIA Control Panel software. At high framerates, VSync is enabled to eliminate tearing. At low frame rates, it's disabled to minimize stuttering. For a superior solution, which eliminates stuttering, tearing and the addition of VSync-related input lag, see our G-SYNC technology page.
    https://www.geforce.com/hardware/tec...adaptive-vsync

  8. #8
    you could just set the framerate limit to the refreshrate of your screen and forget about all this nonsense.

  9. #9
    Originally Posted by Pville_Piper View Post (Source)
    you could just set the framerate limit to the refreshrate of your screen and forget about all this nonsense.
    That's what I do too. When I was having CTDs at 144Hz I did it the other way around too, set the refresh rate and fps cap both to 60Hz (I play borderless windowed on a 144Hz desktop). No vsync in-game or otherwise.

  10. #10
    Originally Posted by Pville_Piper View Post (Source)
    you could just set the framerate limit to the refreshrate of your screen and forget about all this nonsense.
    My frame limiter doesn't work. Lol

    It's set to 60fps. But routinely just carries on up to 200 and beyond... Lol

    Testing the Nvidia V-Sync now. I don't have "fast", I just have "on", "app controlled", "adaptive" and "adaptive half refresh rate"..?

    I'll try On to begin with.

  11. #11
    I think I broke it...

    My PCs audio keep cutting out (in ED only, audio works in windows), and now it's locking up... Lol

  12. #12
    I'd run a file validation check from the launcher.

    You might also benefit from updating your GPU drivers or, indeed, rolling back if you have recently installed new ones.

    With regard to v-sync/fast/adaptive, are you playing on an Optimus laptop?

    *edit*

    There are two FPS options in the game client. Try changing the other one.

  13. #13
    Originally Posted by CMDR_Cosmicspacehead View Post (Source)
    Testing the Nvidia V-Sync now. I don't have "fast", I just have "on", "app controlled", "adaptive" and "adaptive half refresh rate"..?
    V-Sync and Triple Buffering are related - if Triple Buffering is turned off then Fast mode can probably not happen.
    1. Off - rendering pipeline will not synchronise with screen updates
    2. On - rendering pipeline will be limited by the screen refresh rate meaning the renderer will be locked to cycle times that are a direct multiple of the display refresh rate. Visual jitter will happen if frames overrun, and depending on how the software is written input
    3. Fast - rendering pipeline is not limited by the screen refresh rate because the graphics drivers/card will cache the last complete rendered frame. Effectively just stops visual tearing without locking the frame rate.
    4. Adaptive - Similar to On with the proviso that if a frame takes too long to render tearing will be allowed to occur. Rendering pipeline will be locked to run at full refresh rate.
    5. Adaptive (half refresh rate) - Similar to adaptive but using half the refresh rate instead.


    In essence, Adaptive and Adaptive (Half Refresh) are rendering time regulators only. For games that have widely varying rendering times this could be beneficial.

    On/Fast prevent tearing - Fast notionally requiring Triple Buffering to be enabled as well. The way nVidia describe fast is what I would expect from the legacy combination of Triple Buffering and V-Sync On.