Windows 8 PC benchmark scores banned from HWBOT database

Hardcore PC owners like to use software such as Futuremark's 3DMark and PCMark in order to show how powerful their rigs are compared to others. One of the biggest benchmark communities is HWBOT, which collects scores from its members. After they are verified, the people who submitted the scores are awarded points on the site.

This past week, the HWBOT site posted up a article on its blog that announced that, from now on, they were banning any benchmark scores submitted from Windows 8 PCs. The blog puts the blame on the real time clock (RTC) in Windows 8. Besides just making sure that your PC has the correct time, benchmark software applications use the RTC as well. HWBOT says, "By synchronizing with the RTC, the benchmark knows exactly how much time has passed, and takes that value into account when calculating the performance of your system."

HWBOT says that Microsoft created Windows 8 to be compatible with as many devices as possible, but because of this effort, it had to make some changes to its RTC in how it measures time. The blog says those changes made Windows 8 " ... compatible with embedded or low cost PCs that do not have a fixed RTC clock."

However, the effects of those changes can also cause alterations in benchmarks. HWBOT says that if a PC user changes their CPU base clock (BCLK) frequency in software, it throws off the RTC in Windows 8. The chart above shows how benchmarks on their test system, running an Intel Haswell CPU, were affected by downclocking the chip.

The blog also posted two videos that showed the effects of underclocking and overclocking the CPU and how it affects the RTC in Windows 8.

As a result of these findings, HWBOT has decided to block any Windows 8-based benchmarks from being submitted to their database, "... even if the score seems in line with the expectations." We have emailed Microsoft to get their comments as well as Futuremark, who have released two benchmarking programs that support Windows 8 PCs.

Source: HWBOT via ExtremeTech | Image via HWBOT

Report a problem with article
Previous Story

New Samsung Windows Phone device discovered

Next Story

Microsoft launches contest; winner gets their photo on Bing homepage

35 Comments

Commenting is disabled on this article.

RTC = REAL TIME CLOCK.

If the benchmarking software can't accommodate changes to the RTC... how does the OS?
Unless one is using the RTC and the other isn't, I mean.

And I think the motherboard RTC is accessible over SMBUS.... I may be wrong, but....

actually thats wrong.
If you put tasks to run at specific time on "Scheduled Task" services,
that tasks might be start running at earlier/later time than what it was intended to.

wingliston said,
Basically effects no one.

correct. This bug only affects the validation check of benchmark results done by overclockers of the site as the bug is only triggered when changing the BCLK in windows using a software tool. If you overclock through the BIOS there are no side effects.

I think maybe they're pushing for MS to "fix" this for them. I would think a little code will eventually solve this issue so banning it until then is understandable, but I think posting the results with an asterisk would have also sufficed.

That's kind of mind-boggling. If there's no way to reliably track time on Windows 8, how do games, video, audio and all those real-time applications manage to work? It looks more like a bug with the RTC specifically when underclocking than a general problem. If the RTC always scaled with CPU speed then there are precious few things that would work at all in the OS.

EDIT: reading the comments of the original article seems to confirm this:

Windows 8 + Haswell = YES
Windows 8 + Trinity = NO

"The Windows8 RTC bias only occurs when the base clock frequency is downclocked at *runtime*. That means pre-overclocked, or not overclocked, systems are not affected. As long as you run the benchmarks at boot frequency, the benchmark will run completely normal."

Seems to be specific to certain CPUs and only when underclocking at run-time. Looks like a bug to me; hopefully Microsoft is quickly made aware of this.

Edited by Andre S., Aug 19 2013, 3:18pm :

I don't really understand it to be honest. The RTC is hardware and completely seperate from software, which polls the RTC to get the current date and time, the clock of the RTC is locked at 32KHz so I'm pretty stuck at how windows 8 manages to mess it up?

Asik said,
The article theorizes that Windows 8 doesn't rely on the hardware RTC so it works on low-cost devices that have no RTC.

Couldn't we use HPET if we ditched XP? RTC seems like one of those legacy things we'd all be better off not using.

Randomevent said,

Couldn't we use HPET if we ditched XP? RTC seems like one of those legacy things we'd all be better off not using.

But when you reset the time it wont be 1st of January 1970 anymore if we reset it! Some legacy things don't need replacing

Randomevent said,

Couldn't we use HPET if we ditched XP? RTC seems like one of those legacy things we'd all be better off not using.

because of HPET higher resolutions are use more clockfrequency which mean using more power, that might be undesirable if you turn off your computer from time to time.

And unlike the RTC, HPET are inactive while you turn off your computer because it mostly integrated with motherboards' southbridge chip.

Edited by Torolol, Aug 19 2013, 4:51pm :

Randomevent said,
Couldn't we use HPET if we ditched XP? RTC seems like one of those legacy things we'd all be better off not using.
I'm not sure if it'd be possible, but HPET can easily be disabled in the BIOS. Windows has to work everywhere, so I guess it tries to rely on the absolute lowest common denominator. Apparently in Windows 8 they've chosen to stop assuming even a hardware RTC and go by CPU BCLK instead.

Randomevent said,

Couldn't we use HPET if we ditched XP? RTC seems like one of those legacy things we'd all be better off not using.

HPET is exactly what it says it is, a timer. It does not have any relation to a clock. RTC stores time and date, HPET is for fast timing operations.

n_K said,

HPET is exactly what it says it is, a timer. It does not have any relation to a clock. RTC stores time and date, HPET is for fast timing operations.
I'm curious about that myself. Both are just a counter that increments and fires interrupts, if I understand correctly; it's up to Windows to interpret that counter as date and time.

n_K said,

HPET is exactly what it says it is, a timer. It does not have any relation to a clock. RTC stores time and date, HPET is for fast timing operations.

If I understand it correctly, to actually time things with RTC you can either set up a one shot timer which takes excess initialization, or a periodic timer which uses a lot of interrupts. HPET does have other problems, but it doesn't have those problems.

Using a lot of interrupts seems like it'd be bad for performance, which seems kind of weird for benchmark software.

I'm sure you've read the wiki too and I'm no programmer, but the situation just seems more like a badly coded app than a Windows 8 problem to me.

Randomevent said,

but the situation just seems more like a badly coded app than a Windows 8 problem to me.

nope, it IS Windows 8 problem, as you can see on Video, underclocking / overclocking after boots makes windows 8 shows deviate time / clock.

Its NOT supposed to happen.

Watch the video above,
during underclock the displayed clock run slower on, and on video next to it, during overclock the displayed time run faster.

Heck even the ancient XT/AT computer with functional turbo switch doesn't behave like that.

Its not poorly coded per sé, it relied on a feature of Windows that remained unchanged for decades and changed with Windows 8.
If RTC is still present on hardware, they should directly read it out instead of relying on some Windows API to do so.

I constantly overclock and underclock my system, I'm on Windows 8 and my time has been a steady 2 minutes ahead of my alarm clock for months now.

Randomevent said,
I'm sure you've read the wiki too and I'm no programmer, but the situation just seems more like a badly coded app than a Windows 8 problem to me.
There's clearly a bug in Windows 8 if the time API varies with CPU speed; applications have no choice but to rely on these APIs.

Asik said,
There's clearly a bug in Windows 8 if the time API varies with CPU speed; applications have no choice but to rely on these APIs.

I guess all I can do as an outsider is wait for what Futuremark or other benchmark app makers have to say.

Surely they could just detect if the BCLK has been adjusted and adjust the results accordingly? Besides, hardly anyone increases their BCLK these days thanks to CPUs with unlocked multipliers

Yes, but it relies on Windows to tell it how to do this. If Windows can't get it right, what hope do any programs have?

Ricardo Dawkins said,
big meh! RTC is used for timekeeping.... and looks like everyone is getting their workdays counted easily.

If you watch the video you can see the clock on the PC easily falling behind the stop watch on the phone which shouldn't happen.

benchmarks are affected by downclocking the CPU, who would've thought.
Why don't they stick with ticks like any sane program that wants to measure exact times?

Shadowzz said,
benchmarks are affected by downclocking the CPU, who would've thought.
Why don't they stick with ticks like any sane program that wants to measure exact times?

They're affected in the wrong way. Downclocking the CPU makes the RTC run slower, which means benchmarks report to take less time than they actually did.

Counting ticks is very hard to do on modern power-saving CPU's. Clock speed changes all the time (and sometimes independently per core) and that makes it highly complicated.

Shadowzz said,
benchmarks are affected by downclocking the CPU, who would've thought.
Why don't they stick with ticks like any sane program that wants to measure exact times?

lol, yeah underclock to get better benchmarking score. Only on Win8.

Ambroos said,

They're affected in the wrong way. Downclocking the CPU makes the RTC run slower, which means benchmarks report to take less time than they actually did.

Counting ticks is very hard to do on modern power-saving CPU's. Clock speed changes all the time (and sometimes independently per core) and that makes it highly complicated.


Ah yea, as far as I knew a CPU gave 1000 ticks every second. Wasn't aware this was affected as well.
Torolol said,

lol, yeah underclock to get better benchmarking score. Only on Win8.

Only Win8 can perform better with less resources