2015/09/25

The VW trick is at least 30 years old

I used to work for a company that designed and made graphics cards. In those days, the 1980s, there was a lot of competition. When you bought a PC you would, if you wanted to use play the latest games or use "high end" CAD, choose a better than standard graphics card. There were maybe 30 makers of graphics cards all competing on speed and price. And magazines, like PC World and Your PC, and so on would run benchmark tests on graphics cards to see which were the fastest, which had the most colors, which cost the least and so on. But above all, which graphics cards were the fastest. The results would be published in explicit tables of glory and shame.

In these days of high frame rate 3d animation it seems ridiculous. But in those days the speed of a graphics card it was important. It was what made your screen zip along and allowed you to work faster.

We could not understand how a competitor could always be rated fastest in one of the magazine's tests. We knew technically exactly what was needed to have a fast graphics card. We knew what we had to do to make our cards faster. We knew that some things cost more and would increase the speed, but at a price too high for the end user.

So we were amazed at the speed (and reasonable price) of the card. We bought the competitor's card and had a look at the signals as it ran the tests. We used logic analysers and oscilloscopes. And the board peformed the tests at the fantastic speed shown in the magazine. While our board trudged along at a third of the speed.

Then one bloke said: "There's a trick. They know about the test, they know what is supposed to be drawn on the screen, they recognise the test and drag the image from local memory before the test command has even finished!"



And indeed it was like that. The test which was performed was well documented so that all graphics boards would have the exact same test conditions. So the "winner" processor could recognise the sequence of commands coming along and without waiting for anything else, complete the test screen in lightening speed.

Simplifying a bit... One of the tests was to write "The quick brown fox jumps over the lazy dog" 100 times. Another one was to draw 200 red circles all over the screen. Once the processor saw these commands it knew the test was happening.

In fact with any similar test, but maybe the text changed to "The quick brown dog jumps over the lazy fox" and the speed of the graphics card fell enormously.

So, computers know to behave better when watched. Or rather, the programmers do.


No comments:

Post a Comment