Download the Tom's Hardware App from the App Store
The reference for current tech news
Yes No
Signin with

Tom2D: Our Simple 2D GDI Benchmark

by

At this point we like to present our simple 2D benchmark program to our readers. It creates GDI commands as output, enabling the measurements discussed in the following pages.

Important note: the results we are about to present do not correspond to the results from Part 1. This is especially true for drawing lines, because we’ve made various changes to the benchmark since we first wrote about it.

User interface for our small test program (devoid of results)

System requirements:

  • Windows 2000 or better
  • 2MB disk space available
  • Screen resolution of 1024 x 768 or higher


This program doesn't need to be installed and is highly portable from system to system.All measurements are extremely CPU-dependent! Also, running other programs and services can alter these results. Measurements will also fluctuate slightly from run to run.

Test Setup

For this round of testing, we completely cleaned up a desktop machine, then created a new user account. We installed no gadgets, and we avoided opening any additional graphics windows on the test desktop. Once started, we associated the Tom2D.exe program with a single CPU core. We also disabled or deactivated all unnecessary background programs and services as well.

Testing Modes

We selected either direct drawing to the display device or DIB buffering  as shown in the next screenshot (for more information on these topics, consult the two preceding sections in this story).

Changing program modes for Tom2D.exe

Test Coverage

The Tom2D.exe program tests various GDI drawing commands one at a time, so it can accumulate data acros all tests. By inspecting the results and comparing them to others, you can readily see where bottlenecks may exist.

Running individual tests

How-to: Complete Test Run

Click the “Run complete benchmark” button to run all tests automatically and calculate a cumulative result. You can also use the “Copy to clipboard” button to grab and save test results in text form, if you're looking to import them into your favorite number-crunching tool.

In the pages that follow, we’ll present each of the tests individually and explain how they work. We’ll also share our own test results for each item along the way as well.

Our Test Systems
Processor
Intel Core 2 Quad Q6600, 2.4 GHz @ 3.2 GHz, G0 Stepping, 8MB L2 Cache, LGA 775
RAM 
8GB DDR2-1066 CL5
MotherboardDFI LANParty DK X48 T2RS
Operating System
Windows 7 Ultimate x64
Graphics Cards
Radeon HD 5870, GeForce GTX 285
Graphics DriversCatalyst 9.12, ForceWare 195.62
Other Graphics Cards
Radeon HD 5750, Radeon HD 4870, Radeon HD 3650
GeForce GTX 285, GeForce 8800 GTS 512MB, GeForce 8400 GS, GeForce 6800 GT 256MB
Onboard GraphicsGeForce 7050 (nForce 610i), GeForce 8100 (nForce 730i)
Intel G45 (+Intel Pentium E5200, 4GB), Intel GMA X4500HD (+Core 2 Duo P8700 (2.53 GHz), 4GB), Intel GMA 950 (+Intel Atom, Windows XP Professional)
Retro PCs
Pentium MMX (P55C) 233 MHz
Tyan Tomcat IVD S1564D
(Intel 430HX)  224MB EDO DRAM
3dfx Voodoo4 4500, 166MHz GPU (VSA100) 32MB PCI (Windows 98SE)


In addition to the platforms listed in the preceding table, our readers tested lots of other combinations with Windows 98, Vista, and XP. All values collected will be presented in a comprehensive summary results table later in this story. To those who note that results for the 780G/785G on-board graphics chipsets are missing, we’re still waiting for new drivers for those items to appear, and will be sure to add those results once they become available. We don’t want to combine our results with those from other sources to help us maintain our objectivity.

Many Thanks to One and All!

At this point, it's also appropriate to thank the many readers who ran our benchmark on their systems and shared those results with us. In the meantime, all of these values (we got over 800 sets of individual results in all) have been ranked, accumulated, and compared to our own results to create the best possible ranking scheme we could devise. Most of these reports match our own observations fairly closely, with only a few exceptions here and there. This helps improve our confidence level when is comes to judging the fairness of our test regime.

Share:
116
Comments
X
Submit

Comments
mdm08 02/16/2010 6:01 AM
Hide
-0+

I have a 5850 with 10.1 drivers and it seems Photoshop CS4 doesn't recognize it as a graphics card that can improve performance so all those cool new features like animated zoom, kinetic panning, and such seem to be disabled. Also, it when you have a very complex group of objects and you try to nudge it ( move it one pixel with arrow keys) the computer actually shows the spinning wheel and has to process this instead of being instantaneous like it was on my older 7600GT. Is this an issue related with what this article is saying about apps written for GDI or is this a different issue i'm experiencing?

jrharbort 02/16/2010 6:03 AM
Hide
-0+

Scores on 9600M GT and T9600 Core 2 Duo with Windows XP and latest graphics drivers. Only 11 active background processes no including benchmark, and themes disabled.

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 8556 chars/sec
Line: 47513 lines/sec
Polygon: 7757 polygons/sec
Rectangle: 6564 rects/sec
Arc/Ellipse: 3874 ellipses/sec
Blitting: 13974 operations/sec
Stretching: 266 operations/sec
Splines/Bézier: 10510 splines/sec
Score: 984

anonymous 02/16/2010 6:45 AM
Hide
-19+

It would be great if you can run the test on some "pro" cards (quadroFX, quadroNVS, firePro & fireMV). Just to see if the "pro" drivers change standard UI rendering or the optimizations are only for the professional DCC software.

liquidsnake718 02/16/2010 7:02 AM
Hide
--1+

mdm08 :
I have a 5850 with 10.1 drivers and it seems Photoshop CS4 doesn't recognize it as a graphics card that can improve performance so all those cool new features like animated zoom, kinetic panning, and such seem to be disabled. Also, it when you have a very complex group of objects and you try to nudge it ( move it one pixel with arrow keys) the computer actually shows the spinning wheel and has to process this instead of being instantaneous like it was on my older 7600GT. Is this an issue related with what this article is saying about apps written for GDI or is this a different issue i'm experiencing?


Oh great, more news on a 5xxx series not being able to handle simple apps like CS4.... I have yet to use CS4 on my desktop with my 5850..... I hope Ati comes out with more patches if this is a problem.

taltamir 02/16/2010 7:25 AM
Show
anonymous 02/16/2010 7:48 AM
Hide
-2+

Scores on P4 2.8 HT Northwood W ati 2600 pro drivers 10.1 aero Win 7 :
BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 8106 chars/sec
Line: 6528 lines/sec
Polygon: 249 polygons/sec
Rectangle: 1484 rects/sec
Arc/Ellipse: 6127 ellipses/sec
Blitting: 379 operations/sec
Stretching: 80 operations/sec
Splines/Bézier: 5263 splines/sec
Score: 362

anonymous 02/16/2010 7:55 AM
Show
giovanni86 02/16/2010 7:58 AM
Show
helle040 02/16/2010 8:10 AM
Hide
-1+

Rdaeon 4670, amd 7750be, winxp, drivers 10.1, resolutie 1280x1024, 32bit
Text: 45746
line: 40508
Splines/beziers: 20466
Poygon: 322
Rectangle: 1954
Arc/E.: 3494
Biting: 2406
Stretching: 211
Score: 1150

wxj 02/16/2010 8:20 AM
Hide
-18+

I’ve always preferred GDI operations over those of the NOD. GDI have more basic operations set verses NOD’s more complex and sometimes unreliable operations.

snemarch 02/16/2010 8:46 AM
Hide
-1+

A couple of ideas...

First, try adding a DDB (device dependent bitmap) test mode as well - even if your DIBs are using the same colordepth as the display mode, perhaps some drivers fail to optimize for this?

Second, what about the power savings mode modern GPUs tend to run in, in 2D mode? I'm not sure what it takes to kick out of the power-savings mode, but perhaps it could be as simple as creating a D3D context and displaying a single frame?

helle040 02/16/2010 8:55 AM
Hide
-0+

I have two more scores, 950, 1002,and the first was 1150 So how is this possible, more then 10% difference?

JonathanDeane 02/16/2010 8:58 AM
Hide
-0+

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 45496 chars/sec
Line: 44352 lines/sec
Polygon: 12293 polygons/sec
Rectangle: 7013 rects/sec
Arc/Ellipse: 9854 ellipses/sec
Blitting: 7265 operations/sec
Stretching: 642 operations/sec
Splines/Bézier: 36955 splines/sec
Score: 1853

4870 Windows 7 running Cat 9.12

ljbade 02/16/2010 9:18 AM
Hide
-0+

When will they get curves/ellipses fixed?

proofhitter 02/16/2010 9:22 AM
Hide
-0+

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 57405 chars/sec
Line: 42421 lines/sec
Polygon: 14198 polygons/sec
Rectangle: 10724 rects/sec
Arc/Ellipse: 18070 ellipses/sec
Blitting: 16297 operations/sec
Stretching: 615 operations/sec
Splines/Bézier: 37779 splines/sec
Score: 2382

BENCHMARK: DIB-BUFFER AND BLIT

Text: 38521 chars/sec
Line: 145631 lines/sec
Polygon: 22599 polygons/sec
Rectangle: 2572 rects/sec
Arc/Ellipse: 30395 ellipses/sec
Blitting: 10595 operations/sec
Stretching: 1082 operations/sec
Splines/Bézier: 47304 splines/sec
Score: 2904

Windows 7 core i7 920@3.8 ati 4890 Catalyst 10.1

snemarch 02/16/2010 9:32 AM
Hide
-0+

ljbade :
When will they get curves/ellipses fixed?

Probably not the easiest thing to accelerate on a GPU - the prime candidates would be filled polys, rectangles (subset of polys) and blits (including stretched ones - easy to do with a 3D quad or two tris).

Points, lines, bezier curves, arcs (and circles, a subset of arc), ellipses, unfilled polys/rectangles ... all those aren't easily/efficiently implemented with the core 3D primitive: filled polygons. Perhaps some of it can be efficiently implemented with shaders, but that's uncharted territory for me :)

amdfangirl 02/16/2010 9:36 AM
Hide
-0+

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE

Text: 25419 chars/sec
Line: 26376 lines/sec
Polygon: 8153 polygons/sec
Rectangle: 1152 rects/sec
Arc/Ellipse: 8672 ellipses/sec
Blitting: 3359 operations/sec
Stretching: 455 operations/sec
Splines/Bézier: 15977 splines/sec
Score: 1011

CPU: C2D e4300
GFX: GMA 3100
MB: G31
OS: Win 7

anonymous 02/16/2010 10:17 AM
Hide
-0+

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE (AMD FUSION: Max Performance)
Text: 17806 chars/sec
Line: 20636 lines/sec
Polygon: 17975 polygons/sec
Rectangle: 3312 rects/sec
Arc/Ellipse: 23234 ellipses/sec
Blitting: 6199 operations/sec
Stretching: 321 operations/sec
Splines/Bézier: 20157 splines/sec
Score: 1433

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE (AMD FUSION: Productibity)
Text: 6140 chars/sec
Line: 5109 lines/sec
Polygon: 5233 polygons/sec
Rectangle: 1017 rects/sec
Arc/Ellipse: 6819 ellipses/sec
Blitting: 1851 operations/sec
Stretching: 104 operations/sec
Splines/Bézier: 5673 splines/sec
Score: 427

BENCHMARK: DIRECT DRAWING TO VISIBLE DEVICE
Text: 43898 chars/sec
Line: 73421 lines/sec
Polygon: 17483 polygons/sec
Rectangle: 2989 rects/sec
Arc/Ellipse: 21805 ellipses/sec
Blitting: 6082 operations/sec
Stretching: 363 operations/sec
Splines/Bézier: 35804 splines/sec
Score: 2138

Windows vista 64, Phenom2 x3 720 (4 core enabled), Catalyst 10.1, ati 5850

rickzor 02/16/2010 10:23 AM
Hide
-4+

Wow, voodoo4 actually made better than newer gpu proposals in some tests, despite the fact that it was running under win98.

Best offers

All about Graphics Cards
 Graphics Cards performance charts
All Graphics Cards charts

Newsletters


OK