BltTest: Source and Executable

back

You can get my bitblt speed tester (including source) here. [23k] It runs on any Windows box.

BltTest FAQ


What is BltTest?

BltTest is a simple benchmark for measuring BitBlt speed. You can test your favorite video cards to compare their 2-D performance.

What is BitBlt?

BitBlt is a low-level capability of any video card that allows bitmaps (either in raw form or in some pattern) to be copied from system memory to video memory, or from buffer to buffer on a video card. The Windows function called "BitBlt" is used for displaying the results of software rendering, or for software decoding of video playback. Any software-driven animation will see the performance benefits of a fast BitBlt.

Why do you care?

I write graphics software for a living, and some of the wildly popular cards right now have really bad implementations of this function. The difference is staggering: up to 4:1 and more between cards that you'd expect to perform similarly. Most reviews and benchmarks now focus on 3-D performance exclusively, or on basic GDI calls (how many millions of times a second can you redraw a spreadsheet?)

In 3-D, similar code is used to upload textures. If we could upload textures at full AGP bandwidth, you could have a video wall in Quake. But that's a whole 'nother beast.

BitBlt is one of those functions that you will wait for. If it's slow, video playback will be choppy, Flash animation will look bad, Photoshop will be less perky, etc.

How do I measure my system?

Download the zipfile above, look over the code if you want. Then for best results:
  1. Run on a completely idle system (no network cable or modem connection).
  2. Run in "True Color" or "32-bit Color" mode for best results.
  3. Keep the mouse pointer away from the window.
  4. Let test run for several seconds before clicking.
  5. Click -- BltTest will report the fastest measured Blt. (Cancel quits.)
blog comments powered by Disqus

[Old] So what are the numbers like?

I've only timed on NT, so I don't have all the numbers.

My experience is that ATI is really fast, Matrox a very close second (within a few percent, and NVidia's NT drivers are really slow. It's not a problem with NVidia's hardware, though -- ELSA can make them go fast, even on the NVidia reference design.

Also, there's an article at Anandtech that explains why the ASUS P3V4X motherboard makes good cards go slow, despite its otherwise good showing as a motherboard.

But, if you update the BIOS and install the latest GART driver, the performance is stunning. My P3V4X+Geforce is the fastest system I've tested under Win2k.

ATI Rage Fury on p2/300 LX, NT4142 MB/sec
TNT2 Ultra on p3/600 [P3V4X], NT476 MB/sec
ELSA Erazor X on p3/600 VIA [P3V4X], NT4320 MB/sec!
ELSA Erazor X on p3/600 VIA [not P3V4X], Erazor drivers, NT4240 MB/sec
ELSA Erazor X2 on p3/600 i820, Erazor drivers, Win2k240 MB/sec
ELSA Erazor X2 on p3/600 i820, Detonator drivers, Win2k120 MB/sec

Screenshot: results on my ATI Rage Fury