Slashdot Mirror


Intel Caught Cheating In 3DMark Benchmark

EconolineCrush writes "3DMark Vantage developer Futuremark has clear guidelines for what sort of driver optimizations are permitted with its graphics benchmark. Intel's current Windows 7 drivers appear to be in direct violation, offloading the graphics workload onto the CPU to artificially inflate scores for the company's integrated graphics chipsets. The Tech Report lays out the evidence, along with Intel's response, and illustrates that 3DMark scores don't necessarily track with game performance, anyway."

60 of 216 comments (clear)

  1. Good reporting there Ric by Shadow+of+Eternity · · Score: 4, Insightful

    Thanks for telling all of us that the best measure of hardware's performance ingame is... to benchmark it with a game.

    --
    A bullet may have your name on it but splash damage is addressed "To whom it may concern."
    1. Re:Good reporting there Ric by palegray.net · · Score: 5, Informative

      The driver apparently detects "crysis.exe" and inflates performance metrics by offloading processing, whereas renaming the executable to "crisis.exe" gives realistic performance scores. Please RTFA before replying.

    2. Re:Good reporting there Ric by palegray.net · · Score: 2, Insightful

      Did you actually read the article? The driver was shown to be using the same cheats when the benchmark executable was renamed. This isn't about actual optimizations as far as the GPU is concerned; it's about falsifying results by using the CPU instead.

      Why couldn't you be bothered to do your research before replying?

    3. Re:Good reporting there Ric by Fred_A · · Score: 5, Funny

      The driver apparently detects "crysis.exe" and inflates performance metrics by offloading processing, whereas renaming the executable to "crisis.exe" gives realistic performance scores. Please RTFA before replying.

      Thanks for the tip, I've now renamed all my games to "crysis.exe" and am now enjoying a major speed boost. You've given my laptop a new youth !

      I can finally get rid of that cumbersome i7 box with that noisy nVidia !

      --

      May contain traces of nut.
      Made from the freshest electrons.
  2. Eh? by Tyler+Eaves · · Score: 2, Interesting

    I thought offloading graphics computations to the CPU was the whole *point* of integrated video.

    --
    TODO: Something witty here...
    1. Re:Eh? by Anonymous Coward · · Score: 3, Insightful

      While it makes some sense, triggering the behavior using certain filenames is peculiar to say the least.

      I suppose considering that the 3DMark tests are intented to test a hardware solution's peak performance, there is some rationale behind identifying the test executable on some list of "heavy" applications. The guidelines in which 3DMark explicitly forbids that sort of thing are clear, yes. However, in a sense the "spirit" of those guidelines is that they don't want companies trying to cheat by designing driver features/modes for the test which are not usable in actual gameplay.

      Since these are (apparently) in use for actual games, it might not be such a heinous violation. Whether the other entries on their list are simply there, with sinister intent, to raise doubts as I've had in this post, who can say?

      Still a pretty daft thing to do, but maybe it is a simple mistake rather than intentional deception.

    2. Re:Eh? by The+MAZZTer · · Score: 4, Informative

      And here I thought the whole point of not doing video on the CPU was to offload it to a dedicated chip!

    3. Re:Eh? by parallel_prankster · · Score: 5, Insightful

      Effectively dividing tasks among CPUs is not the issue here. They want to benchmark the GPU and they wanna make sure you don't enable optimizations that are targeted specifically for the benchmark which Intel was doing shamelessly.

    4. Re:Eh? by jamesh · · Score: 4, Insightful

      Well, if the GPU becomes saturated, I could imagine the rest of the load spilling over to the CPU (one or many cores). Obviously the GPU is more efficient at video tasks, but if the video task is priority for the user, why not offload to the CPU as well? Makes sense to me.

      If you do that for a benchmark app then you are not really testing (just) the performance of the graphics hardware, so turning on that optimization without disclosing it is probably not really a fair comparison of the hardware. To make it 'fair' you really need to make the benchmark app to be aware of the feature and be able to turn it on or off under software control, or at least know if it is enabled or not. I wonder if similar optimisations could be made to any 3D video driver...

      In the real world, if the user wants high graphics performance and there are CPU cores doing nothing then like you said, offloading to them makes perfect sense.

    5. Re:Eh? by jim_v2000 · · Score: 4, Funny

      Having used Intel graphics chips, I can't blame them for wanting to use the CPU instead.

      --
      Don't take life so seriously. No one makes it out alive.
  3. Hmm... by fuzzyfuzzyfungus · · Score: 4, Informative

    On the one hand, a mechanism that uses the CPU for some aspects of the graphics process seems perfectly reasonable(whether or not it is a good engineering decision is another matter, and would depend on whether it improves performance under desired workloads, what it does to energy consumption, total system cost, etc.), so I wouldn't blame intel for that alone.

    On the other hand, though, the old "run 3Dmark, then run it again with the executable's name changed" test looks pretty incriminating. Historically, that has been a sign of dodgy benchmark hacks.

    In this case, however, TFA indicates that the driver has a list of programs for which it enables these optimizations, which includes 3Dmark, but also includes a bunch of games and things. Is that just an extension of dodgy benchmark hacking, taking into account the fact that games are often used for benchmarking? Or is this optimization feature risky in some way(either unstable, or degrades performance) and so only enabled for whitelisted applications?

    If the former, intel is being scummy. If the latter, I'm not so sure. From a theoretical purist standpoint, the idea that graphics drivers would need per-application manual tweaking kind of grosses me out; but, if in fact that is the way the world works, and intel can make the top N most common applications work better through manual tweaking, I'm can't really say that that is a bad thing(assuming all the others aren't suffering for it).

    1. Re:Hmm... by Sycraft-fu · · Score: 2, Interesting

      I'm inclined to give Intel the benefit of the doubt here. Few reasons:

      1) Nobody buys Intel integrated chips because of how they do on 3D mark. Nobody thinks they are any serious kind of performance. Hell, most people are amazed to find out that these days they are good enough that you can, in fact, play some games on them (though not near as well as dedicated hardware). So I can't imagine they are gaining lots of sales out of this. Remember these are chips on the board itself. You either got a board with one or didn't. You don't pick one up later because you liked the numbers.

      2) Individual program optimization in drivers is extremely common. Some programs do things an odd way, and sometimes the vendors can figure out a way to work around it. An example would be the Unreal 3 engine and anti-aliasing in DirectX 9 mode. I don't know the details, but the upshot is it normally doesn't work. However nVidia (and probalby others) have figured out a way around this. So you can force AA on the Mass Effect and games that don't include the controls in the driver. However the driver has a particular hack for that game to make it work. If you use a program like Riva Tuner, you can mess with that sort of thing and flip the hacks on and off for various things.

      3) Since Intel's integrated chips are exceedingly simple, it isn't surprising they have the CPU handle some things. I seem to recall that their older integrated chips did basically everything on the CPU, being little more than frame buffers themselves. The whole point of an integrated GPU is cheap and low power. That means it isn't going to have massive arrays of shaders to handle things. However with a clever driver, a CPU could do some of that work. Would work particularly well in an integrated GPU case since they use system memory.

      So while I'm not sure I see the point in optimizing for 3DMark, I don't see the overall problem in specific optimizations for specific apps. If you discover that an app has a problem, and you can fix it, but that fix is not something to apply over all, well then why not apply that fix for that app?

    2. Re:Hmm... by Jeppe+Salvesen · · Score: 2, Insightful

      Nobody buys Intel integrated chips because of how they do on 3D mark. Nobody thinks they are any serious kind of performance. Hell, most people are amazed to find out that these days they are good enough that you can, in fact, play some games on them (though not near as well as dedicated hardware). So I can't imagine they are gaining lots of sales out of this. Remember these are chips on the board itself. You either got a board with one or didn't. You don't pick one up later because you liked the numbers.

      That's incorrect, I'm afraid. That's because the vast majority of the buyers are not clued-in. Consequently, they are lead to believe that the system is ready for gaming when it may not be. This is the core of the issue. 3DMark is supposed to inform consumers about performance, without having to read up on the relative merits of the 15 different chipset families out there. When someone cheats on 3DMark, they are making life more difficult for consumers seeking to make informed decisions with a minimal amount of effort.

      --

      Stop the brainwash

  4. If you're too lazy to RTFA... by Jonboy+X · · Score: 5, Informative

    Just look at the pics. Changing the name of the executable changed the results dramatically. The driver is apparently detecting when it's running a 3DMark (or some other specific apps) and switches to some other mode to boost its scores/FPS markings.

    --

    "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
    1. Re:If you're too lazy to RTFA... by cjfs · · Score: 4, Insightful

      It seems entirely reasonable to me for them to optimize the driver to run particular programs faster if at all possible.

      Perhaps, but you definitely don't do it for the benchmark. The article quotes the 3DMark Vantage guidelines which are perfectly clear.

      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.

      So yes, SLI and Crossfire are a different case.

    2. Re:If you're too lazy to RTFA... by Idiomatick · · Score: 2, Insightful

      Optimizing for games makes sense or rendering software. Optimizing for benchmarks seems like a pretty clear violation of the rules.

      It does point out an weakness in benchmarks over in game tests though. If a company spends all of their time optimizing for specific applications then they will get lower marks in a benchmark than they would in real life. But it isn't fair to apply these to benchmarks. Lends more credence to the 'top 5 games' benchmarks that tomshardware or whoever uses.

    3. Re:If you're too lazy to RTFA... by Eil · · Score: 3, Insightful

      But see also Intel's response on page 2:

      We have engineered intelligence into our 4 series graphics driver such that when a workload saturates graphics engine with pixel and vertex processing, the CPU can assist with DX10 geometry processing to enhance overall performance. 3DMarkVantage is one of those workloads, as are Call of Juarez, Crysis, Lost Planet: Extreme Conditions, and Company of Heroes. We have used similar techniques with DX9 in previous products and drivers. The benefit to users is optimized performance based on best use of the hardware available in the system. Our driver is currently in the certification process with Futuremark and we fully expect it will pass their certification as did our previous DX9 drivers.

      And the rest of page 2 indicates that offloading some of the work to the CPU does, for certain games, improve performance significantly. Offhand, this doesn't necessarily seem like a bad thing. Intel is just trying to make the most out of the hardware of the whole machine. Also, one would also do well to bear in mind that the GPU in question is an integrated graphics chipset: they're not out to compete against a modern gaming video adapter and thus have little incentive to pump their numbers in a synthetic benchmark. Nobody buys a motherboard based on the capabilities of the integrated graphics.

      The question that should be asked is: What is the technical reason for the drivers singling out only a handful of games and one benchmark utility instead of performing these optimizations on all 3D scenes that the chipset renders?

  5. Doesn't 3DMark cheat too? by iYk6 · · Score: 3, Interesting

    Is 3DMark the benchmark that will give a higher score to a VIA graphics card if the Vendor ID is changed to Nvidia?

    1. Re:Doesn't 3DMark cheat too? by pantherace · · Score: 3, Informative

      You may be thinking of changing the CPUID on Via chips to GenuineIntel vs AuthenticAMD vs CentaurHauls.

      There's one of the 'big' benchmark suites where the chip's score is roughly the same on AuthenticAMD and CentaurHauls, but gets a boost on GenuineIntel. Via's chips are the only ones with (user) changeable cpuid, so we don't know how differently IDed AMD or Intel do, but still interesting.

      (First google'd link talking about it.)
      http://www.maximumpc.com/article/news/pcmark_memory_benchmark_favors_genuineintel_over_authenticamd

    2. Re:Doesn't 3DMark cheat too? by iYk6 · · Score: 2, Interesting

      I did some searching and found the article you are probably referring to http://arstechnica.com/hardware/reviews/2008/07/atom-nano-review.ars/6

  6. That's what they do for LOTS of games... by Anonymous Coward · · Score: 4, Interesting

    Intel fully admits that the integrated chipset graphics aren't that great. They freely admit that they offload rendering to the CPU in some cases. This isn't a secret.

  7. Re:Wonder if AMD plays fair? by afidel · · Score: 5, Informative

    Oh, ATI was one of the first to cheat on a graphics benchmark quack.exe anyone?

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  8. White Goodman Would be Proud by mpapet · · Score: 2, Interesting

    In true White Goodman fashion, cheating is something losers come up with to make them feel better about losing.

    Is Intel the 500 lb. gorilla in chipsets? Sure, and they got there by 'cheating.' Which is winning.

    Aint capitalism grand?

    For all you losers who don't know who the great White Goodman is: http://www.imdb.com/title/tt0364725/

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
    1. Re:White Goodman Would be Proud by Grishnakh · · Score: 2, Insightful

      Is Intel the 500 lb. gorilla in chipsets? Sure, and they got there by 'cheating.' Which is winning.

      To be fair, I'm pretty sure that Intel has made the highest-performing chipsets for Intel processors for quite a long time now, occasionally competing with Nvidia (who recently gave up). The other makers like VIA and SiS never had chipsets that worked as well as Intel's. Of course, this is for chipsets which don't have built-in graphics.

      Intel's entries into the 3D graphics market have never been very good, only a "better than nothing" solution for low-end and corporate desktops where customers don't want a relatively expensive add-on graphics card, but want to run very basic 3D applications, such as Google Earth. The cost difference between a motherboard with a non-graphics chipset and Intel's built-in graphics is very nominal, and much cheaper than a separate Nvidia or ATI graphics card, especially when you multiply that difference by thousands of desktop systems as used in corporations. But why they even bother trying to rig benchmarks like this is beyond me. No one who's serious about graphics performance would use Intel's built-in video.

    2. Re:White Goodman Would be Proud by Kjella · · Score: 2, Interesting

      But why they even bother trying to rig benchmarks like this is beyond me. No one who's serious about graphics performance would use Intel's built-in video.

      No, but there are a lot of 3D games that aren't FPS junkie, the-sky-is-the-limit craving games. For example, I liked King's Bounty which has minimum requirements of "Videocard nVidia GeForce 6600 with 128 Mb or equivalent ATI". Tales of Monkey Island says: "Video: 64MB DirectX 8.1-compliant video card (128MB rec.)". You won't find any of these in the latest AMD/nVidia review, but just pretending to have a little 3D performance can make a difference between "no 3D games at all" and "some non-intensive 3D games". Outside the hardcore gaming market it might matter.

      --
      Live today, because you never know what tomorrow brings
  9. Which would make sense... by SanityInAnarchy · · Score: 3, Insightful

    That was my first thought, too.

    Here's the thing, though: They took 3DMarkVantage.exe and renamed it to 3DMarkVintage.exe, and much of that offloading was dropped. So this isn't a general-purpose optimization, which would make sense -- it's a targeted optimization, aimed at and enabled specifically for a benchmark, in order to get higher scores in said benchmark.

    It reminds me of the days when Quake3.exe would give you higher benchmarks, but worse video, than Quack3.exe.

    --
    Don't thank God, thank a doctor!
    1. Re:Which would make sense... by Anonymous Coward · · Score: 3, Insightful

      Here's the thing, though: They took 3DMarkVantage.exe and renamed it to 3DMarkVintage.exe, and much of that offloading was dropped. So this isn't a general-purpose optimization, which would make sense -- it's a targeted optimization, aimed at and enabled specifically for a benchmark, in order to get higher scores in said benchmark.

      A practice which is explicitly forbidden per the guidelines. I know lots of Slashdotters don't read the article but I am really beginning to wonder what part of that is so hard to understand. Or maybe that's easy to understand. Maybe it's just that people can assert things that clearly didn't happen, and you find it convincing as long as they do it with confidence.

      I'll (re)summarize the article. Intel quite obviously cheated by trying to artificially inflate a benchmark score, and did so in a way that was not permitted by the guidelines of the benchmark. The motive is quite clear, as such benchmarks often influence buying decisions. There's nothing ambiguous about it according to the story.

      Reading some of the "debates" below, you'd think this were some complex, nuanced issue. It's amusing and kinda pathetic at the same time.

      I don't really know if you can blame this one on the public schools, but you probably can as it seems to be all about the general lack of critical thinking.

  10. Re:Why not? by rm999 · · Score: 3, Insightful

    "they should be encouraged to release hand coded or special drivers to improve performance in specific games."

    Games, sure - but it defeats the point of benchmarks by introducing a new useless variable: how optimized the driver is for that benchmark. I mean, why should 3dMarkVintage.exe be 30% slower than 3dMarkVantage.exe? How does this help anyone except Intel?

  11. Mod Parent Up by causality · · Score: 3, Insightful

    Effectively dividing tasks among CPUs is not the issue here. They want to benchmark the GPU and they wanna make sure you don't enable optimizations that are targeted specifically for the benchmark which Intel was doing shamelessly.

    Please mod this up; it really is that simple.

    --
    It is a miracle that curiosity survives formal education. - Einstein
  12. Re:Why not? by BobisOnlyBob · · Score: 3, Informative

    It's not special drivers for specific games. It's regular drivers with exceptions coded in to make them appear faster on "standardised" tests, which are meant to be an all-purpose benchmark to help consumers identify the sort of card they need (and to compare competing cards). This is cheating to increase sales among the early adopter/benchmarker crowd, impress marketing types and get more units on shelves, and is generally at the cost of the consumer.

  13. They all cheat by GF678 · · Score: 4, Insightful

    I'm not defending Intel at all, but...

    ATI's done it: http://www.xbitlabs.com/news/video/display/20030526040035.html

    NVIDIA's done it: http://www.theinquirer.net/inquirer/news/1048824/nvidia-cheats-3dmark-177

    They've probably done it several times in the past with other benchmarking software as well.

    They're all dishonest. Don't trust anyone!

    1. Re:They all cheat by Ant+P. · · Score: 2, Interesting

      Don't forget 3DMark itself has also cheated to give Intel a higher score.

  14. Re:Wonder if AMD plays fair? by sexconker · · Score: 3, Informative

    I don't know all the details of when (in relation to AMD buying out ATi) but...

    ATi was notorious for cheating on the IQ benchmarks - essentially using a different anisotropic filtering method for the IQ test (the good one), and then the cheating one during the other tests.

    The ridiculous part was that Nvidia was caught doing a similar thing, and the outcry (in part driven by ATi calling out Nvidia) forced Nvidia to include admit it and later driver option to select the optimization level used. When ATi was later caught doing the exact same thing, there was no outcry, there was no admission (despite proof), and there was no option in the drivers to turn off the "optimization".

    I don't recall the details of why the particular optimization was considered a "cheat" and others weren't (I believe it killed off IQ to the point of ass, and it was something that would never be used in-game).

    This was back around the 6800 (Nvidia) vs x800 (ATi) days.

  15. Re:Wonder if AMD plays fair? by RudeIota · · Score: 4, Informative

    ... aaaand ATI has done the same thing at least a couple of times.

    The question is probably more easily answered if asked, "Who *doesn't* cheat?". http://www.xbitlabs.com/news/video/display/20030526040035.html

    --
    Fact: Everything I say is fiction.
  16. Re:Why not? by Grishnakh · · Score: 3, Insightful

    Exactly. If they want to offload GPU processing to the CPUs, then they should do that for ALL programs, not just certain ones in a list.

  17. Re:Why a bad hack when you are close to much more? by Grishnakh · · Score: 2, Informative

    I'm just guessing here, but maybe because offloading this work to the CPUs decreases CPU performance substantially, they don't want to make these changes generic because it'd make it look like systems with Intel video are slow, especially in any CPU-oriented benchmarks. After all, they pointed out in the article how Intel does this same thing for the "Crysis" game, but even with this offloading working, the game only got a measly 15fps with all extra effects off, which is downright unusable.

    The whole thing just looks really shady.

  18. Re:Why not? by causality · · Score: 2, Insightful

    It's not special drivers for specific games. It's regular drivers with exceptions coded in to make them appear faster on "standardised" tests, which are meant to be an all-purpose benchmark to help consumers identify the sort of card they need (and to compare competing cards). This is cheating to increase sales among the early adopter/benchmarker crowd, impress marketing types and get more units on shelves, and is generally at the cost of the consumer.

    No need for a car analogy on this one. So it's like what happens when the public schools teach a generation or two in such a way that they are optimized for performance on standardized tests, and when those students eventually enter the working world, they don't know how to make change without a cash register or other calculator of some sort? The way they don't know how to deconstruct an argument? Let alone understand the importance of things like living within your means?

    --
    It is a miracle that curiosity survives formal education. - Einstein
  19. Re:Wonder if AMD plays fair? by afidel · · Score: 4, Informative

    linked at the bottom of that article but here (in German but screenshots speak for themselves), the quoted ATI rep basically admits it too by saying that they optimize for the best "visual experience" where that's some mix of visual fidelity, framerate, etc.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  20. Re:Why a bad hack when you are close to much more? by causality · · Score: 3, Interesting

    Its funny that Intel simply creates an INF file and uses those to detect apps and optimize for performance. I mean, if you are detecting a file name and enabling performance optimizations, why not detect the app behaviour itself and make the optimizations generic ? Clearly you know the app behaviour and you know the performance optimizations work. This seem to me a case where people were asked to ship it out fast and instead of taking the time to plug the optimization into the tool, they just made it a hack. A really bad one too!!!

    Sure, but how hard would it actually be for a graphics driver to scan an arbitrary executable and determine a) that it's a game and b) how it will behave when executed? I suppose they could model it after the heuristic and behavioristic features of some antivirus/antispyware applications, but nothing about this problem sounds trivial. There's also the question about how bloated of a graphics driver you are willing to accept.

    My guess is that the above concerns explain why this was a poorly-executed hack.

    --
    It is a miracle that curiosity survives formal education. - Einstein
  21. If you were improving the GPU for gaming... by zullnero · · Score: 3, Insightful

    You'd think you'd have logic in the GPU that could determine when a certain load was being achieved, certain 3D functionality was being called, etc., and offload some work to a multicore CPU if it was hitting a certain performance threshold (as long as the CPU itself wasn't being pounded...but most games are mainly picking on the GPU and hardly taking full advantage of a quad core CPU or whatever). That makes a degree of sense...using your resources more effectively is a good thing. If that improves your performance scores, well...so what? It measures the fact that your drivers are better than the other card's drivers. That seems like fair play, from a consumer's standpoint. If the competitors can't be bothered to write drivers that work efficiently, that's their problem. Great card + bad drivers = bad investment, as far as I'm concerned. That's the real point of these benchmarking tests, anyway. It's just product marketing.

    But trapping a particular binary name to fix the results? That's being dishonest to customers. They're deliberately trying to trick gamers who just look at the 3DMark benchmarks into buying their hardware, but giving them hardware that won't necessarily perform at the expected level of quality. I generally stick up for Intel, having worked there in the past as a contractor and generally liking the company and people...but this is seriously bad form on their behalf. I'm surprised this stuff got through their validation process...I know I'd have probably choked on my coffee laughing if I were on that team and could see this in their driver code.

  22. SOP by OverflowingBitBucket · · Score: 2, Insightful

    Hasn't every chipset maker- ever- been busted for fudging benchmark results at some point? Multiple times, usually?

    And then they get caught out by the old exe-renaming technique.

    Why do they keep trying it? The mind boggles.

    I would have thought by now that a standard tool in the benchmarkers repertoire was a tool that copied each benchmark exe to a different name and location and launched that, followed by a launch with the default name; and that the more popular benchmarks had options to tweak the test ordering and methodology slightly to make application profiling difficult.

  23. Re:Do the optimizations work for anything else? by Nurf · · Score: 2, Interesting

    Well, there is also the interesting tidbit that it doesn't enable those optimizations unless the CPU is an Intel CPU.

    Hmm.

    --
    ---
  24. No organizational memory. by mac1235 · · Score: 2, Insightful

    Marketing execs change all the time. Each one says "Hey! I have an idea...." The programmer who is asked to put in the cheat is not wildly enthusiastic about the idea, knows it won't work and does a quick and dirty hack.

  25. Re:Wonder if AMD plays fair? by Lloyd_Bryant · · Score: 4, Interesting

    Oh, ATI was one of the first to cheat on a graphics benchmark quack.exe anyone?

    Oh this type of thing has been going on for a VERY long time. For example, there was the Chang Modification back in 1988 (It slowed down the system clock that was used as a timing base for the benchmark, resulting in higher benchmark scores).

    --
    Don't tell me to get a life. I had one once. It sucked.
  26. Re:Why a bad hack when you are close to much more? by Mashi+King · · Score: 2, Interesting

    Detecting application behavior dynamically is non-trivial. Commonly it is performed by instrumenting the binary, which _degrades_ the performance of the binary. The act of observation destroys the behavior to be observed, so to speak. This is why 3D marks vantage explicitly prohibits "Use of empirical data of application for optimization". _After_ you get the behavior of application, optimization is a lot easier.

  27. Re:Do the optimizations work for anything else? by edmudama · · Score: 4, Insightful

    That's not interesting. How do you plan to connect a non-Intel CPU to an Intel chipset with integrated graphics?

    --
    More data, damnit!
  28. Re:Wonder if AMD plays fair? by 0123456 · · Score: 5, Informative

    It's really hard to get 15% better performance without doing something underhanded unless your previous drivers were beta quality.

    I used to work for a video card manufacturer and game and video developers often did totally retarded things which just happened to work on the cards they developed on but made the software run like crap on ours. We routinely had to implement workarounds for individual games to make them run properly on our cards.

    One particular example which springs to mind -- I won't mention the developer or the game -- was an engine which used a feature which we supported in hardware but a certain other card manufacturer whose cards they used performed in software. Rather than configuring said feature once as they should have done, retarded developer repeatedly reconfigured it numerous times in the course of a single video frame, which required us to reconfigure the hardware every time -- slow as heck over an AGP bus -- whereas other card manufacturer just had to execute a few CPU instructions. We had to detect the game and disable our hardware support, so that we would fall back to software and run the retarded code much faster; in that instance there were places in the game where, far from a measly 15%, we'd literally be going from seconds per frame to numerous frames per second.

    So it's quite possible to need to detect individual games or applications in order to work around retarded coding which cripples performance on your hardware. The line you shouldn't cross -- and which I don't believe we ever did -- was to render something other than what the developer intended, for example by detecting a shader used by a benchmark and replacing it with one that looked similar but didn't do as much work.

    Similarly, the issue here is not Intel punting processing to the CPU when the GPU is overloaded, but the fact that they do so by detecting the name of the benchmark rather than by monitoring the GPU loading and dynamically switching between hardware and software so that it would work on any application. General optimisation is fine, workarounds for retarded developers are fine, but special optimisations for benchmarks which don't affect real applications is getting pretty close to the line.

  29. Re:Wonder if AMD plays fair? by Fred_A · · Score: 3, Interesting

    Oh, ATI was one of the first to cheat on a graphics benchmark quack.exe anyone?

    Oh this type of thing has been going on for a VERY long time.

    I even remember teapot based hacks (although not the details unfortunately, probably something along the lines of having the teapot hardwired somewhere) back when displaying rotating GL teapots was all the rage to test graphics hardware (ancient history, obviously).
    Of course something like Quake was still the stuff of science fiction at the time.

    --

    May contain traces of nut.
    Made from the freshest electrons.
  30. No, it's not. by pathological+liar · · Score: 2, Interesting

    The behaviour their driver has in the benchmark is also used in several games... ie Crysis Warhead. RTFA.

  31. Re:Wonder if AMD plays fair? by noundi · · Score: 3, Informative

    Just to get things straight bloodhawk said:

    Don't remember AMD cheating, But then I have only more recently become a big ATI fan, However Nvidia has a long history of benchmark cheating in drivers in order to make there stuff look better than it is and many times it was far more blatant than what intel is doing here

    At the time of quack.exe ATI wasn't owned by AMD, cheating or no cheating we've got to be clear on that one.

    --
    I am the lawn!
  32. Duh by ThePhilips · · Score: 3, Informative

    3DMark Vantage was never a legit benchmark. Heavily tuned for Intel CPU and nVidia GPU architectures it never actually meant a damm thing.

    Just compare performance of gf285/295 v. radeon 4870/5870 (any review) in 3DMark and in games. In 3DMark Vantage nVidia cards have close to 50% advantage while in real games radeons sometimes score higher.

    The statistical anomaly alone is sufficient to dismiss 3DMark Vantage results as outlier.

    --
    All hope abandon ye who enter here.
  33. Re:Wonder if AMD plays fair? by Ecuador · · Score: 3, Informative

    You cite a 2001 issue as one of the earliest examples? Poor form. ;)
    Go back another 4 years. nVidia released the Riva 128 which started winning most benchmarks against ATI's Rage Pro (and Rendition Verite etc). Well, a few publications started noticing that the speed advantage was due to the image quality being much worse with no tri-linear filtering, no fog (at least for a few iterations of drivers) and some sort of compressing the textures that made rendered text on some games illegible (a couple of games had the misfortune of having that problem even with their menu system). I remember the comparison images for the nicest benchmark/demo of the day called "Final Reality" were quite telling of the IQ difference. However, most publications of the time just went with fps numbers, so that left ATI with no choice but to "optimize" their new driver set (called "Turbo") especially for 3D benchmarks :)

    --
    Violence is the last refuge of the incompetent. Polar Scope Align for iOS
  34. They are all guilty of cheating at some point by DJRumpy · · Score: 2, Insightful

    Both ATI and nVidia have been caught cheating (and by cheating I mean specifically targeting the FutureMark benchmarks to make their products look better than they actually are). The above link is only a single instance. A quick google will net you a good sampling over the last decade or two.

    Optimizing a driver for a specific game is not cheating as long as it doesn't affect quality. Optimizing your driver to get inflated scores specifically in a benchmark is cheating.

    1. Re:They are all guilty of cheating at some point by Targon · · Score: 2, Interesting

      True cheating when benchmarking a GPU vs. optimizing is something that many people do not seem to understand. Cheating when it comes to GPUs really would come down to intentionally degrading visual quality just to get higher scores while tricking the benchmark application into thinking the quality is as high as specified.

      An example of this would be when running a test with Antialiasing set at 8x in the applications, and antialiasing being set to "application control" in the drivers, yet when the drivers see the application running, it forces AA off to get better scores, no matter what the settings might be set to. This is a clear case of trying to fool people into thinking that the GPU in question handles AA very well or has better performance.

      And that is where most of the big reports of cheating have come from in the past. If the image quality is degraded, that will generally increase the framerates, and that is what both NVIDIA and ATI were guilty of.

      Now, adjusting things in the drivers to provide the proper visual quality but changing HOW things are done to provide better framerates is fine, because what you are telling the card to do is what you get.

      In this case with Intel, the GPU is what is being tested, not the CPU. If a GPU test has results based on CPU doing a lot of the work, then going with a lower end CPU will have a MAJOR impact on GPU performance. The whole point of benchmarking a GPU is to test how fast the GPU is, so you could put that GPU in a modern system with various processors and you get roughly the same GPU performance(of course, when the application is CPU limited, you will see reduced GPU performance anyway).

      I have felt for a long time that drivers should compensate for missing features in the hardware when it comes to the APIs though. If a GPU only accelerates DirectX 7 stuff, with a properly powerful CPU you SHOULD be able to use DirectX 11 instructions, but since the GPU doesn't handle them, it would be much slower. The real key is that performance would be HORRIBLE when using software to handle those newer "unaccelerated" instructions, but it would still work.

      From that perspective then, it does not bother me that Intel would use the CPU to compensate for their GPUs, except that published benchmark results need to indicate the true performance of the product. From that perspective, if SLI/Crossfire were used and the benchmark were reporting the results as a single GPU result numbers, that too would give a false impression of the performance of the product.

      If Intel were to make it clear that faster CPUs will improve the performance of their GPUs, but would result in slower application performance(since CPU cycles are going to the GPU), then that wouldn't bother me for how the product actually performs. The problem is that it still doesn't show just how fast a given GPU is in a benchmark environment.

    2. Re:They are all guilty of cheating at some point by DJRumpy · · Score: 2

      I don't need to suggest anything. There are very clear rules defined for accepted benchmarking standards. As I said, I have no problem with a vendor tweaking their drivers to make some random game perform better, but when you specifically target a benchmark and then hide the fact that the work is actually being done by the CPU rather than the GPU, then I take issue.

      If they allowed an option to prevent the CPU offload so that you could evaluate the GPU at face value, I wouldn't have a problem with that. That would require transparency from the GPU manufacturer, and the option to disable this offload to the CPU. I don't see that they offer either. There's a reason it's an industry standard. It's a basic yardstick as to how a GPU will perform. Perhaps they do this because they know how poorly their hardware performs on industry standard benchmarking?

    3. Re:They are all guilty of cheating at some point by sjames · · Score: 2, Informative

      If and only if the Intel driver would make the necessary adjustments for a real world app (as opposed to one that just happens to have the same name as a popular benchmark), THEN it would be acceptable IF they also specified the CPU required to get that performance. Otherwise, it's doing something in the benchmarks that it will not do when you run your application and if your CPU is busy, it may not even run the benchmark as well on your machine.

  35. Correct. by InvisiBill · · Score: 2, Insightful

    The behaviour their driver has in the benchmark is also used in several games... ie Crysis Warhead. RTFA.

    The issue is that the driver treats different games differently, based on filename. Some get this boost and some don't. Whether you put 3DMark into the boosted or unboosted category, its results will be indicative of some games and not of others.

  36. Re:Wonder if AMD plays fair? by poetmatt · · Score: 2, Insightful

    maybe you don't care, but lots of sales are linked to good benchmark scores. Where the intel product does worse, they're making it look as if it's better. A polished turd is still a turd.

    Think of this like comcast's speedboost. It sounds great to be able to be at 50MB/s downstream, except you only get to do it for 30 seconds, thus making real downloads not receive benefit.

    wow we're at 50 mb/s! etc al.

  37. Re:Wonder if AMD plays fair? by v1 · · Score: 3, Interesting

    I think the point is to benchmark the performance of the gpu. If your fav-game-of-the-month looks fabulous on your friend's hopped up system with xyz graphics card, you expect to get the same graphics performance if you buy the same card, despite having a lower class processor. If the game is already taxing your friend's CPU to play smoothly, imagine the reduced gameplay AND graphics you'll get when you try it on your system, since it's trying to offload GPU work to your already burdened CPU?

    There's simply no excuse for changing your behavior when you detect a benchmark app is running. Fraud, fraud, fraud. That's no better than the driver software screwing with the benchmark app as it runs or modifying its output before it's displayed, bugging it into displaying completely made-up numbers of their choosing.

    --
    I work for the Department of Redundancy Department.
  38. Re:Wonder if AMD plays fair? by bluefoxlucid · · Score: 3, Insightful

    In any case application specific optimizations are a great tool. They got an extra 18% speed out of the chip with just application specific tweaks. That's a pretty damn significant increase. Ignoring that would be a terrible decision. All graphics drivers should use this and update the drivers every few months as new games come out.

    The app-specific optimizations actually made Crysis look like shit, and ate more CPU power (you need an extra core to play Crysis), and the damn thing was still smashed by an equivalent AMD chip that could play Crysis at twice the frame rate (which was 30fps, rather than an unusable 15fps). The benchmark showed that Intel's was about 30% faster than AMD's offering, which in real life use was actually twice as fast as Intel's.