Dangers of GPU singing falsetto

When I was running non-fps/vsync limited jme3 tests, with fps > 200 or so, there was some kind of high pitched noise coming from somewhere. As I was running these tests only for umpteen seconds each time, I was not really worried. Till today, when freshly booted PC decided to display vertical bars of errors on the monitor after running such test and then proceeded to die.

Fortunately, damage is quite limited. I have dual GPU setup, with 4 plugs in each card - and only DVI output in question died. Other DVI and HDMI from same card work perfectly, as does other card.

My feeling is that some capacitor was involved and decided to retire after being forced to sing for too long. And I’m now putting vsyn on each test before running it…

1 Like

Your hardware really should have been ok… but yeah, lately I only turn vsync off when I want to test raw frame rates and then I put it back on.

Mostly these days I’m more concerned about frame drops and a consistent rate with vsync on. Sometimes semi-high frame rates that are really random kill vsynch’ed frame rates outright depending on the cause.

Those noises come from the voltage regulators, as they have with 200hz a hearable frequence - the power consumption fluctuates greatly between rendering a frame, and a short wait for new commands to the gpu.

However if there are some low quailty components or older components, that could create faults. (and cheap capacitors are prone to this)

Anyway there are rarely reasons to disable vsync today (exception being lower than monito refreshs frame rates)

i completely stopped caring for the fps, I only care for the time used to render a frame. (eg between buffer changes) If i know I can render a frame in 10ms I can interpolate from that without actually rendering all the other frames. :slight_smile:

@Empire Phoenix said: Those noises come from the voltage regulators, as they have with 200hz a hearable frequence
200Hz? Thats a very low frequency.. Do you mean 2kHz (2000Hz)?

Noise pitch was dependent on fps - but not 1:1. Around 500-1000fps it was really high pitch - hard to estimate, but certainly more in 5+kHz range (rather than 500-1000Hz matching fps, or 200Hz).

Regarding fps versus time per frame - sure, it will work, but default jme3 display shows fps, so lazy people look at that :wink: In my main app I have a custom counter which shows avg and max frame times, but cannot be bothered to put it into every test example before running. Plus I think that my timer was showing total time together with vsync overhead - I was tracing skipped frames, rather than pure throughput back then.