W A R N I N G !

W A R N I N G !

This page is full of non-facts and bullsh!t, (just like the internet and especially forums and other blogs), please do not believe entirely without exercising your intellect. Any resemblance to real things in reality is purely coincidental. You are free to interpret/misinterpret the content however you like, most likely for entertainment, but in no case is the text written on this blog the absolute truth. The blog owner and Blogger are not responsible for any misunderstanding of ASCII characters as facts. *cough* As I was saying, you are free to interpret however you like. *cough*

Friday, August 12, 2011

So my PC's soundcard is less noisy when the CPU is under load? - An investigation on computer activity and audio noise

A while back I discovered that my laptop's onboard audio's RMAA-measured performance was better when the CPU was under load. However I could not reproduce it on my desktop (it is still completely reproducible on the laptop) so I took it as a one-time affair and let it rest.

I was reminded of this topic again, with all those low-power CPUs, minimalistic OS builds, and SSDs, as well as linear power supplies and power filters for HDDs and fans running around. But this time, I can measure down to -120dB.

Test setup

Realtek ALC888 (for playback)
Gigabyte GA-MA770-US3 (rev. 1.0)
AMD Phenom II X3 720 @ 800Mhz/0.75V idle 2.8GHz/1.20V load unless otherwise stated
Asus HD5670
Antec TruePower New TP-550
Western Digital Caviar Green 1TB
Xonar DX (for measurements)

OCCT (to load the CPU)
Arta (for measurements)
Arta settings:
24-bit, 96kHz, Spectrum Analyzer, 1kHz Sine, FFT 65536, Hanning window, linearly averaged 20 times for each measurement

I used the onboard Realtek because I observed previously that onboard sounds exhibit more fluctuations in measured results and hence are more susceptible to fluctuations in noise levels.
The motherboard decides performance more than the codec, just as the rest of the soundcard/DAC decides performance more than the DAC chip used, you can find evidences for both on the internet.
The CPU is a beast that has been undervolted into a puppy. But when overvolted and running Linpack it draws over 100W.
Xonar DX in the same computer handles the measurements. Loopback self-tests show that it has practically no difference between when idling and when overvolted and OCCT power supply tested (more on this term later). So it does not inject additional noises as the computer is loaded and hence already busted part of the myth, but we are looking at the Realtek here.

Test 1 - CPU idle vs load

This is how the Realtek does when the CPU is idling.

And this is how it does when loaded by OCCT.

Two interesting things to note - while there are humps at around the 2kHz and 4kHz regions when under load, noise performance below 1kHz is better.

Linpack is a test that focuses on generating heat and wasting power. The hump to the right of the 1kHz test signal covers the previous two seen in the OCCT test. However the spikes to the left are still less and smaller compared to when idling.

I always remeasure my baseline to make sure it is accurate. And I am glad I practice that. This "idle again" looks different from and better than the first idling, and seems to combine the good parts of idle and load. However, closer inspection reveals a higher noise floor below 1kHz which seems to correspond to the smallest peaks (~7dB above noise floor) of the idling picture. Could be a measurement issue.

Test 2 - Power supply + CPU + graphics card a.k.a. full system loading

OCCT power supply test tests the computer's power supply by loading the CPU and graphics card at the same time for maximum power consumption. As expected, noise levels are the worst so far. But, it gets even worse later.

Test 3 - CPU voltage

CPU voltage is increased to 1.55V with everything else the same. Noise floor rose compared to 1.20V.

Test 4 - Idling at different voltages and frequencies

Noise increases just by increasing voltage or frequency alone. Idling at high frequency and high voltage results in the worst performance so far.

Test 5 - H.264 video playback

Overall it looks worse than OCCT Power Supply test. Even though H.264 video playback is much less demanding. Another case of less work, more noise.

Test 6 - Fans

It gets a little noisier with the two fans at 1150rpm and 2000rpm respectively. But at those speeds the mechanical noise will drown out any electrical noise. Most people going for fanless do it to attain true silence, but having a few fans at 600rpm is a much cheaper way of doing things, and it does not seem to have much effect electrical noise-wise.

Test 7 - Hard disk drive

It may look like there is a difference on first glance, but the difference is less than the fluctuations of idle performance. So any difference can be treated as insignificant.

Collection of idle measurements

These are all the measurements done when the system is idling at 800MHz 0.75V, comparing them gives a good idea of natural random fluctuation of performance.

Idle again
Idling 3
Idling 800MHz 0.75V
Fans off (The fans are near stalling speed in all other tests)
HDD not defragging

Interpreting the measurements

I only measured up to 20kHz because beyond that the noise levels recorded by Xonar DX according to Arta is impossibly low (below -146dB which is the theoretical limit for 24-bit). (RMAA with 96kHz sampling rate for up to 48kHz frequency shows no problem however. Could be a problem with the settings.) It is possible for ultrasonics that escaped detection to cause problem with some equipment, but in that case it would show up in the audible range.

Two patterns were spotted - increasing frequency and voltage (or power draw in general) increases noise. Loading the CPU with OCCT reduced noise compared to without, both at 800MHz 0.75V and 2.8GHz 1.55V.

It can hence be inferred that the best scenario with the lowest noise would be OCCT at 800MHz 0.75V. So I tested it, and

viola, it easily has the lowest noise. The other extreme would be idling at 2.8GHz 1.55V which has been covered above. In all the other cases, including OCCT Power Supply test, the loading of the CPU countered the rise in power draw, so the noise is somewhere in between.

In the case of my laptop, the voltage is the same at both idling and full load clocks. So there was no increase in noise due to increase in voltage. Hence the noise was lower overall.

The worst-case scenario of idle 2.8GHz 1.55V is 10-15dB worse than the best case scenario of load 800MHz 0.75V. For those unacquainted with decibels, download foobar2000 and adjust the volume control to -15dB to see (or hear) the difference.

Now, although the difference is big, in the worst case scenario the highest spike (ignore those over 8kHz) is still lower than -80dB. By right, this would not be audible. If your soundcard is outputting at maximum output level. But, if you are having it output at -20dB or even -40dB because you are using headphones, or using your soundcard as volume control and/or your system has too much gain, or for some reason this noise reaches other equipment and gets amplified, it would be audible when the system is not playing anything, and 15dB would mean the difference between audible and not.
Basically that is to say if you are not suffering from noise problems you won't suffer from it, but if you are suffering from noise problems you can try some tricks.

Also, these variations did not show up on the Xonar DX in its own self tests, hence if your soundcard has a good power supply on itself with high rejection of noise from the rest of the PC, there is nothing to care about.


I started out to confirm if measured noise performance of onboard sound is indeed better with CPU under load, I confirmed that to be the case.

No comments: