Tuesday, October 13th 2009

Intel IGPs Use Murky Optimisations for 3DMark Vantage

Apart from being the industry's leading 3D graphics benchmark application, 3DMark has had a long history of 3D graphics hardware manufacturers cheating with their hardware using application-specific optimisations against Futuremark's guidelines to boost 3DMark scores. Often, this is done by drivers detecting the 3DMark executable, and downgrading image quality, so the graphics processor has to handle lesser amount of processing load from the application, and end up with a higher performance score. Time and again, similar application-specific optimisations have tarnished 3DMark's credibility as an industry-wide benchmark.

This time around, it's neither of the two graphics giants in the news for the wrong reasons, it's Intel. Although the company has a wide consumer base of integrated graphics, perhaps the discerning media user / very-casual gamer finds it best to opt for integrated graphics (IGP) solutions from NVIDIA or AMD. Such choices rely upon reviews evaluating the IGPs performance at accelerating video (where it's common knowledge that Intel's IGPs rely heavily on the CPU for smooth video playback, while competing IGPs fare better at hardware-acceleration), synthetic and real-world 3D benchmarks, among other application-specific tests.

Here's a shady trick Intel is using to up its 3DMark Vantage score: the drivers, upon seeing the 3DMark Vantage executable, change the way they normally function, ask the CPU to pitch in with its processing power, and gain significant performance according to an investigation by Tech Report. While the image quality of the application isn't affected, the load on the IGP is effectively reduced, deviating from the driver's usual working model. This is in violation of Futuremark's 3DMark Vantage Driver Approval Policy (read here), which says:
With the exception of configuring the correct rendering mode on multi-GPU systems, it is prohibited for the driver to detect the launch of 3DMark Vantage executable and to alter, replace or override any quality parameters or parts of the benchmark workload based on the detection. Optimizations in the driver that utilize empirical data of 3DMark Vantage workloads are prohibited.
There's scope for ambiguity there. To prove that Intel's drivers indeed don't play fair at 3DMark Vantage, Tech Report put an Intel G41 Express chipset based motherboard with Intel's latest 15.15.4.1872 Graphics Media Accelerator drivers, through 3DMark Vantage 1.0.1. The reviewer simply renamed the 3DMark executable, in this case from "3DMarkVantage.exe" to "3DMarkVintage.exe", and there you are: a substantial performance difference.

A perfmon (performance monitor) log of the benchmark as it progressed, shows stark irregularities in the CPU load graphs between the two, during the GPU tests, although the two remained largely the same during the CPU tests. An example of one such graphs is below:

When asked for a comment to these findings, Intel replied by saying that its drivers are designed to utilize the CPU for some parts of the 3D rendering such as geometry rendering, when pixel and vertex processing saturates the IGP. Call of Juarez, Crysis, Lost Planet: Extreme Conditions, and Company of Heroes, are among other applications that the driver sees and quickly morphs the way the entire graphics subsystem works. A similar test run on Crysis Warhead yields a similar result:

Currently, Intel's 15.15.4.1872 drivers for Windows 7 aren't in Futuremark's list of approved drivers, none of Intel's Windows 7 drivers do. For a complete set of graphs, refer to the source article.
Source: The Tech Report
Add your own comment

45 Comments on Intel IGPs Use Murky Optimisations for 3DMark Vantage

#26
newtekie1
Semi-Retired Folder
TartarosWell, I don't think blaming Intel igps for being so bad about gaming is not right, they're not for gaming and never pretended to. They are very cheap igps, with very low power consumption and low heat output, so someone who doesn't play games doesn't need the power of an ati or nvidia, less money, more battery. We usually forget about that, they are fine for what they were created.
That is actually a pretty good point. And even without the optimizations, that is not a terrible score for an IGP. I don't think the competing IGPs are scoring much better. Heck that might even be outclassing some dedicated cards, what does a HD 4350 or 8400GS score?
Posted on Reply
#27
RoutedScripter
I made some tests with 06 on my current machine , nothing special , just for reference , I do not use nor see 3Dmark in a way of any importance , it's scores are basically irrevelant, and has never impacted on my favouriting and purchasing choices.


The industry too much depends on artificial benchmark programs ,

ex; when I was a noob with an old nonworking pc , I send it to a repair man , at a private service and computer shop down town , the problem was a el cheapo too weak PSU , they changed it with a new one , most of the decision they made they saw me as a nonaware customer , but they put another el cheapo in , the cheapest you can get , and then some other guy showed up , looked like an unprofesional student working in the shop , and that guy actually replaced the PSU and he made "various" tests with 3Dmark 06 for the afternoon for the last day, he claimed he run 4 tests , each test for 2 hours , and that were all successful with no power downs or freezes (before, they actually requested the win login pass when I was leaving the pc there) ... so I paid 16 euros , lol , the PC was there for about 4-5 days , turned it up and saw 3Dmark installed as well as some folders thrown around containing some result files I did not understand fully back then , in 15 minutes the ol' PSU screaming noise began and in a matter of week the PSU was as good as the old one.

There is not certain if 3Dmark really did run successfully with that "wannabe pc pro" guy , but I played games that were set as high as possible and it failed.
Posted on Reply
#28
Kreij
Senior Monkey Moderator
What a tangled web they weave.

What it really comes down to is, "does my game/application run as I expected".

Does anyone really buy graphics cards (or IGPs) based on the synthetic benchmark scores?
When you buy a pre-built system, non of the manufacurers make any claims of fps in any given scenarios. They simply say that you get extreme (barf) performance or whatever, without eluding to what exactly that means of where you get that performance.

Caveat Emptor.
Posted on Reply
#29
mastrdrver
Best part of entire article, they disabled sideport on the 785G:
One of the games on the list for detection, Crysis Warhead, should have no problem saturating an integrated graphics chipset, to say the least. We tested it with the executable under its original name and then renamed to Crisis.exe, using FRAPS to collect real-world frame rate data with the game running at 800x600 and minimum detail levels.

With the Futuremark-approved Catalyst 9.9 drivers, the AMD 785G-based system scored 2161 in 3DMark Vantage—nearly the same score as the 2132 3DMarks the G41 gets when it's playing by the rules, but well below the 2931 the score the G41 posts with optimizations enabled.

Here's the tricky part: the very same 785G system managed 30 frames per second in Crysis: Warhead, which is twice the frame rate of the G41 with all its vertex offloading mojo in action.
:roll:
Posted on Reply
#30
Tartaros
Does anyone really buy graphics cards (or IGPs) based on the synthetic benchmark scores?
When you buy a pre-built system, non of the manufacurers make any claims of fps in any given scenarios. They simply say that you get extreme (barf) performance or whatever, without eluding to what exactly that means of where you get that performance.
No one buys a computer based on synthetic benchmarks but for 2 ways: asking an employee at the shop or a friend (most people who doesn't know anything about cpu) and seeing each component one by one (people like us, who knows everything about hardware).

In the second case there's almost no problem, but in the first case, the buyer has to believe every word they hear because they don't know anything. In that case, there are much shop assistants without heart who they don't mind cheating the buyer to dipose of that old crappy comp that no one wants. And there comes many legends like the most important thing to a vga is the dedicated memory, it still remains nowadays, so is normal seeing people thinking, for example, a 9300gs with 1gb dedicated memory can outperform a 8800gt with 512mb dedicated memory or many people thinking that they need a powerful vga to see photos and that sort of things.

I work as shop assistant in a electronics shop and many people comes saying this sort of things because another shop assistant said them that sort of things only to make the buyer get the computer he wants. I know how many shop assistants do their work :nutkick: I see many people complaining that crysis doesn't work in his comp and when I ask about the comp, is a crap with intel igp but the assistant said is fine for gaming. It happens quite times.
Posted on Reply
#31
Kreij
Senior Monkey Moderator
Hi Tartaros,
I agree with you completely. But if anyone goes into any kind of transaction (whether buying or selling) and is ill prepared to do business, then they get what they deserve. There is no excuse these days for being uninformed. anyone can get a boatload of information off the internet in a matter of minutes. To blindly trust a sales person at any shop (even if they have good intentions, like you) is foolish.

That is why I ended my last post with "Caveat Emptor", which is Latin for "Let the buyer beware".
Posted on Reply
#32
Tartaros
I know what you say, but one thing is to teach a customer and another thing is to lie a customer, and many shop assistants lie their customers only to make more profit. In my case, I don't lie customers, I'm not the top seller in my shop but I'm proud of my work. Usually the top sellers are the ones who cheat (of course not all of them, but always there is a viper onto them).

My job is to sell what the customer needs and make a good service, then that customer will eventually come back to me whenever he needs me. If you ask a cop where to go to the nearest police station and he sends you the other way, you think is your fault because you could use a street guide instead of asking? That's not fair.

Sry for the off topic. I'll go to lash myself in penitence xD
Heck that might even be outclassing some dedicated cards, what does a HD 4350 or 8400GS score?
No, ati and nvidia's counterparts are better in terms of performance. I talked once with an Intel's commercial counselor and he told me the performance of a GMA x3000 would be around a Geforce 4 MX400. For what he said me, the x4500 would be the same but with enhanced support for decoding HD media formats and some instruction sets for enhance the performance in autocad and that sort of programs. I don't know if is true all this because I never got any interest in it. Could be marketing strategy :D
Posted on Reply
#33
Yukikaze
I am pretty sure nobody is going to sue over this, but if I were somehow up the chain from whoever did this I'd give him a nice (perhaps proverbial) kick in the nuts. Not only this is beyond stupid (As far as the implementation goes), it also provides no real gain (Any review would also bench at least a game or two and the IGP would be marked as 3p!cf@!l anyway) and in bring about bad media coverage when it gets caught.

:nutkick:
Posted on Reply
#34
Assimilator
W1zzardyou would be surprised what else, other than exe name, you could use for app detection - that pretty much nobody on the planet is ever gonna figure out
My point exactly - and since "optimising" by EXE name is so obvious and so easily circumvented, it makes you wonder why the graphics card vendors keep doing it. It's almost like they want to get caught out...
Posted on Reply
#35
Per Hansson
AssimilatorMy point exactly - and since "optimising" by EXE name is so obvious and so easily circumvented, it makes you wonder why the graphics card vendors keep doing it. It's almost like they want to get caught out...
Because if you didn't use the filename then you would need to update the detection each time there is a patch for the game or app you provide optimizations for.
Since obviously if the exe files content change you wont be able to detect it anymore, even tho the optimizations would still probably work just fine for this "new" patched exe file...
Posted on Reply
#36
W1zzard
nope ... lots of other ways .. just need to be creative
Posted on Reply
#38
Tartaros
YukikazeI am pretty sure nobody is going to sue over this, but if I were somehow up the chain from whoever did this I'd give him a nice (perhaps proverbial) kick in the nuts. Not only this is beyond stupid (As far as the implementation goes), it also provides no real gain (Any review would also bench at least a game or two and the IGP would be marked as 3p!cf@!l anyway) and in bring about bad media coverage when it gets caught.

:nutkick:
The team of developers of intel vgas have to justify their salaries to keep going to highway bars, stripper clubs and those sort of places where they find their creativity, you know :D If they don't those useless things, they will have to get the creativity under a bridge. Poor creatures.
Posted on Reply
#39
FordGT90Concept
"I go fast!1!11!1!"
W1zzardyou would be surprised what else, other than exe name, you could use for app detection - that pretty much nobody on the planet is ever gonna figure out
If you really want to prevent your app from being detected, there's ways to do it. Currently, Futuremark isn't even trying. I doubt AMD, NVIDIA, Via, and Intel will go beyond the executable name to find a running process. If they do, the line between "driver" and "malware" would blur.
Posted on Reply
#40
W1zzard
FordGT90Concept1) If you really want to prevent your app from being detected, there's ways to do it.
2) Currently, Futuremark isn't even trying.
3) I doubt AMD, NVIDIA, Via, and Intel will go beyond the executable name to find a running process.
4) If they do, the line between "driver" and "malware" would blur.
1) no
2) don't know, doubt they do something
3) wrong
4) malware hurts the system, this just optimizes the driver in an application specific way, which is done for almost every game out there.
Posted on Reply
#41
FordGT90Concept
"I go fast!1!11!1!"
1) Daemon Tools is an example and even they aren't going to the extremes.
2) Renaming the executable (every download from the server generates a new executable name) causing a change in performance clearly shows they aren't. They could in the future but that's their call.
3) There's no evidence they have (#2 proving this).
4) DRM, like SecuROM, is very similar to the extent you must go to determine if something is legitimate or not. SecuROM causes startup delays and false positive error messages (both attributes common in malware). Having to exhaustively search for an executable means frequent, system heavy searches that would naturally lead to a decline in performance (just as seen with SecuROM). That performance drag on the system could lead your driver to be labeled malware.
Posted on Reply
#42
W1zzard
daemon tools is easy to detect. i claim i can write detection code for any application you can create that actually performs something (blizzard wasn't interested in my working glider [wow bot] detection code). and i'm sure ati/nv have way better developers than me.

securom's implementation sucked that's why it got flak for being drm. had they done it right it wouldnt have made the media. per your definition a resident antivirus would be malware too
Posted on Reply
#43
FordGT90Concept
"I go fast!1!11!1!"
Exactly why I don't run any anti-virus software. :roll:


I have no reason to create a near impossible application to detect so I'll have to pass on that. Should I have to, every time to application is ran, it would create a clone of itself in a different directory, alter its binary code as well as name and other signatures (file size, hash, native language, version, etc.). It would update all shortcuts to point to the new executable and on close, pass a delete command to the shell to remove itself. Next time the user starts the application, there's very little that didn't change.

It would effectively be the equivilent of HIV for x86 computers.

As the old saying goes: "where there is a will, there is a way."
Posted on Reply
#44
W1zzard
FordGT90ConceptIt would effectively be the equivilent of HIV for x86 computers.
have you ever heard of an undetectable computer virus ? hiv is very detectable btw

where there is a will, there is a way. - exactly. works in reverse too :) even though i doubt the scientific accuracy of the statement.
Posted on Reply
#45
FordGT90Concept
"I go fast!1!11!1!"
All I can say is it is coming. There are already some instances of self-programming logic but they quickly run out of resources. It is only a matter of time.


Bottom line: The day computers programming themselves becomes common place, we're screwed.


But I digress. This is 22nd/23rd century stuff. I think Futuremark should consider randomizing their binary names and the application specific optimizations would most likely disappear.
Posted on Reply
Add your own comment
Dec 21st, 2024 00:18 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts