Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: [SOLVED] High CPU usage in idle mode  (Read 9611 times)

0 Members and 1 Guest are viewing this topic.

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10819
    • View Profile
    • development blog
    • Email
Re: High CPU usage in idle mode
« Reply #15 on: October 05, 2015, 08:44:30 pm »
vblank sync is a standard way to set frame limit and actually FAQ has big mistake in the following quote:
Quote
vertical synchronization was necessary and still exists today. In the future however, it will become less and less of an issue and at some point, vertical synchronization will no longer be necessary

vblank sync is the single way to synchronize graphics and make it smooth, and it will not be "no longer be necessary" in future  ;)
If you quote the FAQ quote the full paragraph not just a excerpt from the middle of a sentence.

Quote from: FAQ
In an ideal scenario, the monitor would be sent a new set of data exactly once every refresh, right before the beams start traveling. This would mean that the GPU is synchronized with the monitor, as it delays updating the framebuffer until the beams are at the starting position. If the framebuffer would be changed while the beams are mid-way through the screen, you would see half of the old image and half of the new one. This is known as tearing and is the primary purpose why vertical synchronization was necessary and still exists today. In the future however, it will become less and less of an issue and at some point, vertical synchronization will no longer be necessary and support probably removed from newer hardware.

One might argue that the counter point is missing, that is NVIDIA G-Sync, AMD FreeSync and similar will be the future.


As for the topic, as Laurent pointed out multiple times, stop assuming things and actually look at the implementations and understand what's going on.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

mkalex777

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: High CPU usage in idle mode
« Reply #16 on: October 05, 2015, 11:37:33 pm »
Quote from: eXpl0it3r

One might argue that the counter point is missing, that is NVIDIA G-Sync, AMD FreeSync and similar will be the future.

Gsync and free sync is just attempt to minimize tearing artrfacts with flexible refresh rate, its good technology to display the video with original frame rate (so you will not need for frame rate resampling), but it will not solve all issues. It may cause non-smooth movements and additional lag between renderer and display. There is no way to replace vsync. It's just a physics, you cannot send entire image to the disply with no delay and you cannot update all pixels on lcd matrix in one step.

Mario

  • SFML Team
  • Hero Member
  • *****
  • Posts: 878
    • View Profile
Re: [SOLVED] High CPU usage in idle mode
« Reply #17 on: October 08, 2015, 09:54:09 am »
Sounds like a very typical problem I've encountered with Nvidia drivers and older CPUs.

Have you checked the "Threading Optimization" setting in the Nvidia Control Panel? If you're on an older CPU, try setting it to "Off" rather than leaving it on "On" or "Auto".

With it enabled, on my old Core 2 Quad I always had massive CPU load even with VSync on.