Content uploaded by Roy Longbottom
Author content
All content in this area was uploaded by Roy Longbottom on Nov 21, 2017
Content may be subject to copyright.
Graphics Benchmarks
Roy Longbottom
Contents
General
Windows Drawing Benchmarks
Windows DirectDraw Benchmarks
Windows Direct3D Benchmark
Windows OpenGL Benchmarks
Windows Direct3D9 Benchmarks
Windows BMPSpeed Benchmarks
Windows and Linux JavaDraw Benchmarks
Linux OpenGL Benchmarks
Linux SDL_BMPSpeed Benchmarks
Summary
My first graphics benchmarks were written in the days of dial-up Internet access, to provide a range of
performance measurements without the need to download large volumes of image data, starting with DOS in 1997
and progressing via Windows and Linux to present times, with added 64 bit varieties.
The benchmarks run a series of different tests, with few to particularly large demands, that can automatically use
full screen operation, with different pixel dimensions, or different sized windows, at default settings. Most display
on screen performance details whilst running and all save results in a text based log file.
Nine separate benchmarks cover Windows drawing, DirectDraw, Direct3D and Direct3D9, then OpenGL 3D and
bitmap graphics for Windows and Linux. Direct3D9 can test multiple monitors and many have special options to use
for stress testing.
General
My first graphics benchmarks were written in the days of dial-up Internet access, to provide a range of
performance measurements without the need to download large volumes of image data. Other ones, with results
provided below, were produced by a later compiler as 32 bit and 64 bit versions and run on a PC with a 1994 3.9
GHz Core i7 4820K CPU with a mid range GeForce GTX 650 graphics card, controlled by Windows 10.
The benchmarks run a series of different tests, with few to particularly large demands, that can automatically use
full screen operation, with different pixel dimensions, or different sized windows, at default settings. Most display
on screen performance details whilst running and all save results in a text based log file. All benchmarks, along
with source codes, are include in Windows-Graphics-Benchmarks.zip, to run via Windows, or linux-graphics-
benchmarks.tar.gz via Linux.
Windows Drawing Benchmarks - draws different shapes, copies blocks of image data, colours an area, and
pokes pixels, with performance measured in Millions of Pixels Per Second and Frames Per Second.
Windows DirectDraw Benchmarks - uses DirectDraw functions to copy image data and to colour fill an area,
with performance measured in Millions of Pixels Per Second and Frames Per Second.
Windows Direct3D Benchmark - uses Direct3D functions operating on wireframe, coloured and textured moving
objects, with performance measured in Frames Per Second, replaced with Direct3D9 Benchmarks for 32 bit and 64
bit versions.
Windows OpenGL Benchmarks - Coloured and textured moving objects, again, and a complex wireframe and
textured real simulation of a kitchen, with performance measured in Frames Per Second.
Windows Direct3D9 Benchmarks - with similar wireframe, coloured and textured objects plus use of Pixel and
Vertex Shaders, with performance measured in Frames Per Second.
Windows BMPSpeed Benchmarks - This is system test, with graphics activity, comprising writing and reading
small to enlarged images, scrolling and rotating them, with time in seconds and milliseconds plus MB/second for
scrolling.
JavaDraw Benchmark - for running via Windows, Lixux and Andrioid, starting with a simple scene with added
complexity for subsequent tests, with performance measured in Frames Per Second. There is also an on-line
version of this benchmark, executed via a downloaded HTML document.
Linux OpenGL Benchmarks - This is a similar to, but enhanced, version of the Windows OpenGL program.
Approval was given to Canonical to include this benchmark in the testing framework for the Unity desktop.
Linux SDL BMPSpeed Benchmarks - carrying out the same functional tests as Windows BMPSpeed, but written
using Simple DirectMedia Layer functions.
Stress Testing - The benchmarks have run time parameters to include a number of the benchmarks in a stress
testing exercise, including which section to run and running time. See burnin64.htm (Archive), burnin4cpu.htm
(Archive) and linux burn-in apps.htm (Archive).
Go To Start
Windows Drawing Benchmarks - VideoWin.exe, VideoWin32.exe, VideoWin64.exe
The forerunner of VideoWin was VideoDOS.exe, produced in December 1997. This has parameters to run at
resolutions between 640 x 480 to 1024 x 768, at 16 or 256 colours, with six tests measuring performance in
millions of pixels per second. An example of results is provided below. The benchmark is available in DOSTests.zip.
For anyone wanting to compare performance of older systems, this includes VideoRes.txt, with lots of results for
80386 to Pentium III.
VideoWin Benchmark again measures graphics speeds in terms of millions of pixels per second but for six Windows
drawing and screen copying functions. The latest version has two additional tests, drawing 10000 random
length/direction lines and 1000 ellipses as a 3D like object. Speed for these is measured in frames per second. The
8 tests are: Results for all Windows graphics benchmarks are included in videowin results.htm (Archive), with
samples below for 80486 and Core i7 based PCs.
1 - BitBlt copy from system memory
2 - Drawing small Ellipses
3 - Recangle Fill
4 - Setpixel
5 - Drawing short lines
6 - BitBlt copy screen to screen
7 - Drawing 10000 Lines full screen
8 - Drawing 1000 Ellipses full screen
The front end VideoWin driver has tick boxes to select all available pixel sizes at 8, 16, 24 and 32 bits per pixel,
with default 640 x 480 to 1024 x 768, using monitor properties settings to run in full screen mode, and whatever
bits per pixel settings are available. The back end is OneWin.exe, that can be run separately to use current video
settings. VideoWin64 and VideoWin32 only execute the OneWin test procedures. These were produced via later
compilers to use 64 bit and 32 bit systems. The benchmarks, along with source codes, are included in Windows-
Graphics-Benchmarks.zip.
Windows vs DOS - From the results below, except for Ellipse tests, the equivalent Windows speeds are shown to
be much faster, particularly those involved in BitBlt bit-block transfer compared with Get/Put.
VideoWin - Most of the tests, measuring millions of pixels per second, seem rather strange, with increasing
performance as the resolution increases. This is because the full screen is used, not a window sized in pixels. On
older PCs, performance could be similar with increasing resolution selection. However, converting the speeds to
frames per second, as in DirectDraw Benchmarks a more constant speed is indicated.
OneWin and VideoWin32 and 64 - All results are effectively the same for all tests.
Results
VideoDOS.EXE 256 COLOURS Genoa 8000 Graphics
Put Ell- Rect Set Draw Get/
CPU image ipse fill pixel line Put
CPU MHz Size MP/S MP/S MP/S MP/S MP/S MP/S
80386 40 1024x768 1.08 0.31 1.37 0.003 0.20 0.63
80486 66 1024x768 2.11 0.51 2.42 0.004 0.29 0.96
***************************************************************************
VideoWin.exe S3 VLB Graphics
BitB Ell- Rect Set Draw BitB 10000 1000
CPU Colours Mem ipse fill pixel line Scrn Lines Ellips
CPU MHz Size MP/S MP/S MP/S MP/S MP/S MP/S FPS FPS
486 66 256 1024x768 10 0.08 24 0.014 0.95 25
486 66 16K 1024x768 6 0.07 13 0.014 0.98 11 1.36 0.19
***************************************************************************
VideoWin.exe Core i7 4820K GTX 650 graphics
.......... Millions of Pixels Per Second ........... ..Frames/Second..
Resolution BitBlt1 Ellipse Rectfill SetPixel DrawLine BitBlt2 Lines10K Ellips1K
640 480 32 271.87 10.638 911.28 0.208 15.08 722.97 12.79 23.35
800 600 32 495.23 19.013 1700.77 0.212 18.04 1269.47 10.47 15.56
1024 768 32 650.48 26.531 3208.98 0.218 24.59 2295.25 10.49 11.29
1280 1024 32 780.73 43.456 5667.61 0.219 38.27 4072.32 9.54 7.10
1600 1200 32 922.85 55.515 7507.16 0.219 48.26 5908.29 8.43 4.59
***************************************************************************
Various at Resolution 1920 x 1080 32 bits, Core i7 4820K GTX 650 graphics
.......... Millions of Pixels Per Second ........... ..Frames/Second..
Benchmark BitBlt1 Ellipse Rectfill SetPixel DrawLine BitBlt2 Lines10K Ellips1K
OneWin 976.96 45.398 7444.36 0.215 56.45 6085.82 6.81 4.75
VideoWin32 1001.75 43.818 7445.86 0.208 56.67 6137.75 8.09 4.72
VideoWin64 1004.93 45.135 7348.10 0.224 57.23 6251.74 8.17 4.66
Go To Start
DirectDraw Benchmarks - VideoDD.exe, VideoDD32.exe, VideoDD64.exe
VideoDD Benchmark measures graphics speeds via DirectDraw functions, in terms of millions of pixels per second
(MP/S) and frames per second (FPS) using various drawing functions at all available monitor size and colour
settings, in full screen mode. The tests are:
1 - DirectDraw BltFast from an off screen surface in video RAM to
the screen primary surface - MP/S and FPS.
2 - DirectDraw Blt (with stretch) from an off screen surface in video
RAM to the screen primary surface - MP/S.
3 - DirectDraw Blt with COLORFILL to the screen primary surface -
MP/S.
4 - As Test 3 but using DirectDraw WaitForVerticalBlank (VSYNCH)
to clamp the speed to the screen refresh Hz - MP/S and FPS. The
latter identifies the refresh frequency.
5 - DirectDraw BltFast from a large surface in main RAM to the
screen primary surface - MP/S and FPS.
DirectDraw.exe has the same front end as VideoWin, to select monitor setting that are changed under monitor
properties to run in full screen mode. Similarly, the back end, and later 32 bit and 64 bit compilations, carry out
tests at the current settings. Results from 2002 to 2014 are available in directdraw results.htm (Archive) and
below are measurement from a 66 MHz 80486, to demonstrate performance improvements over the years. Further
comparisons are included in directdraw results.htm. VSYNCH speeds were not included in that report. The
benchmarks, along with source codes, are included in Windows-Graphics-Benchmarks.zip.
As for VideoWin, speed in millions of pixels per second can increase at higher monitor settings, but frames per
second, reflecting user observed performance, can be considerably reduced.
Of late, BltFast from an off screen surface in video RAM measurements have been indicated as particularly slow
using GeForce graphics cards, when it expected to be faster than BltFast from RAM. Results for a PC with an AMD
CPU and a Radeon graphics card are provided to show expected performance.
The other anomaly is that VSYNCH inconsistent speeds can be indicated, when they should be no higher than 60
FPS.
VideoDD.exe Core i7 4820K GTX 650 graphics
Millions of Pixels Per Second ......... Frames Per Second .....
Resolution bltfast blt_and bltfill bltrect bltfast vsynch bltfast bltfast
vid_ram stretch rectngl +vsynch cpu_ram refresh vid_ram cpu_ram
640 480 32 41.4 936.3 371.6 34.1 1027.9 118.5 144.2 3569.0
800 600 32 42.6 1372.3 604.5 27.5 1086.3 60.3 108.4 2382.3
1024 768 32 34.1 1709.0 866.3 45.3 1141.5 60.0 47.2 1510.5
1280 1024 32 34.1 2409.9 1625.2 76.4 1150.1 60.0 27.8 904.0
1600 1200 32 41.7 2740.2 2211.1 112.3 1145.0 60.0 23.5 611.6
80486 S3 VLB
640 480 16 11 3 26 4 37 12
********************************************************************
Various at Resolution 1920 x 1080 32 bits, Core i7 4820K GTX 650 graphics
Benchmark Millions of Pixels Per Second ......... Frames Per Second .....
bltfast blt_and bltfill bltrect bltfast vsynch bltfast bltfast
vid_ram stretch rectngl +vsynch cpu_ram refresh vid_ram cpu_ram
OneDD 41.3 2556.7 2355.1 121.0 1141.3 60.0 21.0 566.1
VideoDD32 41.8 2555.0 2368.4 121.0 1136.1 60.0 21.2 563.5
VideoDD64 35.6 2513.0 2357.5 121.0 1136.4 60.0 18.1 563.7
AMD 64 Radeon 614.6 3828.5 3793.7 76.4 281.5 60.0 500.1 221.2
Go To Start
Direct3D Benchmark - VideoD3D.exe
VideoD3D Benchmark measures graphics speed in terms of Frames Per Second (FPS) via eight simple and more
complex tests used in two earlier D3D benchmarks. The program uses Direct3D Retained Mode. The last four tests
represent moving up and down a tunnel with various independent moving objects. The third test provides FPS that
represents screen refresh Hz (half or less if the system is very slow). The tests are:
1 - Rotating egg gouraud shading solid - 736 Triangles/Frame
2 - Rotating egg gouraud shading wireframe - 736 Triangles/Frame
3 - Rotating egg gouraud shading wireframe WaitForVerticalBlank
4 - 500 cubes within cubes, gouraud shading wireframe - 6688 Triangles/Frame
5 - Tunnel, plain colours
6 - Tunnel, textured with wrap
7 - Tunnel, textured with wrap and shadow
8 - Tunnel, more changing textures - around 2200 Triangles/Frame
Again this benchmark uses the same procedures as VideoWin, with a front end to set monitor pixel size, in full
screen mode, and a back end (OneD3D.exe) that can be run separately, using existing monitor settings. Details
and results of many systems are included in direct3d results.htm (Archive). Example recent results are shown
below, including that at 1920 x 1080 via OneD3D.exe. Note that VSYNCH does not appear to work here. The
benchmarks, along with source codes, are included in Windows-Graphics-Benchmarks.zip.
Recent systems execute D3D programs via Hardware Abstraction Layer (HAL), for graphics hardware acceleration.
This is generally only available at 16 and 32 bits and requires at least three times the video RAM space that is
used by Windows. This was not available on earlier systems, where the slower Ramp software emulation had to be
used. Examples of these are shown below, to show how performance was increased by HAL and the difference
from later PCs.
The benchmark could not be compiled for 64 bits as support for D3DRM was no longer provided. VideoD3D9_64 and
VideoD3D9_32, 64 and 32 bit varieties, have been produced using DirectX 9 functions, where some of the tests
can be regarded as the same as in the original version. See below. .
VideoD3D.exe Core i7 4820K GTX 650 graphics
...................... Frames Per Second ......................
Emul Resolution gouraud gouraud gouraud cubes plain texture wrap & multi
solid wirefrm vsynch wirefrm colors wrap shadow texture
HAL 640 480 32 4306.2 4594.2 408.2 46.4 616.4 510.4 375.6 362.4
HAL 800 600 32 3647.0 3725.4 178.8 38.0 393.4 383.0 284.0 271.2
HAL 1024 768 32 3695.2 3702.8 237.8 45.8 375.0 313.8 272.0 268.6
HAL 1280 1024 32 3834.2 3841.6 175.6 35.8 273.8 264.6 240.0 231.6
HAL 1600 1200 32 4518.6 4456.6 179.0 48.4 278.6 271.4 239.0 241.4
HAL 1920 1080 32 4486.6 4477.6 179.8 46.4 266.4 259.2 200.8 200.2
80486 S3 VLB
Ramp 800 600 16 6 5 7 0.5 0.9 0.8 0.7 0.7
Pentium MMX Matrox Mystique
Ramp 1024 768 16 35 22 35 1 4 4 3 3
MMX 800 600 16 142 115 75 7 20 15 11 11
Go To Start
OpenGL Benchmarks - VideoGL1.exe, OpenGL32.exe, OpenGL64.exe
VideoGL1 Benchmark measures graphics speed in terms of Frames Per Second (FPS) via eight simple and more
complex tests. The first six tests portray moving up and down a tunnel with various independent moving objects.
The last two tests, included in the latest version, represent a real application for designing kitchens. The first is in
wireframe format, drawn with 23,000 straight lines. The second has colours and textures applied to the surfaces,
the textures being obtained from photographs of ceramic tiles. The tests are:
1 - Plain colours tunnel, plain colours 1 egg plus other flyers
2 - Plain colours tunnel, textured egg and other flyers
3 - Plain colours tunnel, plain colours 4 eggs and other flyers
4 - Plain colours tunnel, 4 textured eggs
5 - Textured tunnel walls, 4 textured eggs and other flyers
6 - Textured tunnel all surfaces, 4 textured eggs and other flyers
7 - Wireframe kitchen rotating
8 - Rotating kitchen textured with wall, floor and worktop tiles
VideoGL1 is the last benchmark that has a front end to set monitor pixel size, in full screen mode, and a back end
(OneGL1.exe) that can be run separately, using existing monitor settings. There are also later 32 bit and 64 bit
compilations. Details and results of many systems are included in opengl results.htm (Archive). This highlights early
day issues regarding drivers and graphics memory requirements. The benchmarks, along with source codes, are
included in Windows-Graphics-Benchmarks.zip.
The old results also include some running at different CPU speeds and others with different graphics cards. In
those days, the earlier tests tended to have graphics speed limitations, with considerably reduced performance at
higher monitor resolution settings, and CPU speed dependency running the most complex tests. Results on the
Core i7 indicate more consistent performance at different resolutions but, as indicated, they are for full screen
displays.
Some old results are show below to indicate how performance has improved on more modern PCs.
VideoGL1.exe Core i7 4820K GTX 650 graphics
........................ Frames Per Second ........................
Resolution Single Single Multi Multi More More+ Wire Tiled
Plain Texture Plain Texture Texture Texture Kitchen Kitchen
640 480 32 1697.73 871.41 953.49 796.91 787.46 751.82 535.80 152.34
800 600 32 1735.13 1099.36 872.98 1413.94 1356.69 636.32 418.33 156.43
1024 768 32 1660.71 1383.94 1455.71 890.66 853.84 846.24 405.36 156.12
1280 1024 32 1514.68 1202.58 1284.18 1147.67 1067.15 775.33 459.80 156.90
1600 1200 32 1315.21 1054.28 1120.71 986.06 944.22 687.78 546.68 153.63
3 at 1920 1080 32
OneGL1.exe 1243.02 1002.31 1050.53 940.31 904.88 680.67 504.74 153.60
OpenGL32.exe 1171.71 970.00 1022.98 914.40 875.93 649.27 569.64 155.10
OpenGL64.exe 1253.20 1001.58 1048.83 942.29 902.76 696.81 406.99 139.29
Pentium 100 MHz Diamond Srealth
800 600 32 2.3 1.3 2.3 0.87 0.19 0.12
Celeron 900 MHz Voodoo 3
1024 768 32 14.3 12.2 12.6 8.0 3.3 2.6 9.1 2.0
Go To Start
Direct3D9 Benchmarks - VideoD3D9_64, VideoD3D9_32
VideoD3D9_64 and VideoD3D9_32, 64 and 32 bit varieties, have been produced using DirectX 9 functions, where
some of the tests can be regarded as the same as in the original version. The tests are:
1 - Rotating Egg Gouraud shading, as VideoD3D Test 1
2 - Rotating Egg Wireframe, WaitForVerticalBlank
3 - Rotating Egg and 500 Cubes Wireframe, as VideoD3D Test 4
4 - Textured Tunnel and Rotating Objects, as VideoD3D Test 8
5 - Plain/Fancy Colours, 26 Objects, different movements/rotations
6 - As Test 5 but textured
7 - As Test 6 but using Pixel Shader 2.0, added colours each frame
8 - As Test 6 but using Vertex Shader 2.0, added movement and colours
The benchmark clearly does not plumb the depths of DirectX 9 but it follows the design goals of the Benchmark
Collection of being small size, providing a range of useful performance measurements. Unlike VideoD3D, the new
program only attempts to run using HAL graphics hardware acceleration. It might not run on an old graphics card
even though DirectX 9 is installed. It also performs badly on not too old adapters, as shown in the more detailed
results in my direct3d report (Archive). Tests 7 and 8 are not attempted if Pixel and Vertex Shader 2.0 are not
available. The benchmark uses d3dx9_26.dll and this may have to be downloaded. The benchmarks, along with
source codes, are included in Windows-Graphics-Benchmarks.zip.
The benchmark was initially run on the Core i7 based PC using Windows 8. As in the example below, performance of
32 bit and 64 bit compilations were virtually the same. Now, under Windows 10, performance is much slower and
the 64 bit version is faster than the one produced for 32 bit operation. Results from an Atom CPU based tablet are
also shown, where some speeds are equivalent to those from the powerful desktop PC. Googling reveals lots of
complaints about slow graphics performance under Windows 10.
Unlike the earlier benchmarks, this one in run via commands in a BAT file (or a Command Prompt window), where
resolution settings are for real pixel dimensions in a window. This also enables testing of the display spead over
more than one monitor. The above direct3d report includes some results at 4880 x 1024 pixels, over three
monitors. There were some faster results than in the current situation.
VideoD3D9_32 Core i7 4820K GTX 650 graphics, Windows 10
..................... Frames Per Second ......................
Resolution Shaded WireEgg 500 Texture Colour Texture Pixel Vertex
Egg Vsync Cubes Tunnel Objects Objects Shader2 Shader2
640 480 32 802.5 60.0 107.9 589.8 153.7 173.8 169.3 150.3
800 600 32 770.9 60.0 109.2 609.4 158.0 175.6 174.4 152.0
1024 768 32 799.5 60.0 108.9 614.8 158.8 176.5 175.8 153.8
1280 1024 32 828.0 60.0 109.0 606.7 155.3 174.1 174.3 152.7
1920 1080 32 843.3 60.0 113.3 617.0 159.5 176.6 175.7 151.8
Windows 8
1920 1080 32 2748.7 60.0 393.6 1121.0 1460.1 994.3 1053.4 1297.6
VideoD3D9_64 Core i7 4820K GTX 650 graphics, Windows 10
..................... Frames Per Second ......................
Resolution Shaded WireEgg 500 Texture Colour Texture Pixel Vertex
Egg Vsync Cubes Tunnel Objects Objects Shader2 Shader2
640 480 32 1319.0 60.0 179.5 900.5 250.1 275.8 266.8 237.3
800 600 32 1273.3 60.0 177.9 873.8 241.5 264.4 262.2 234.8
1024 768 32 1315.4 60.0 179.3 900.3 243.1 268.2 266.4 238.2
1280 1024 32 1273.8 60.0 178.1 876.1 241.0 264.5 262.7 233.8
1920 1080 32 1242.7 60.0 176.9 855.9 246.8 275.8 274.7 243.9
Windows 8
1920 1080 32 2756.7 60.0 393.5 1121.1 1443.4 1005.0 1002.2 1332.0
Tablet Atom Z8300 Intel HD Graphics, Windows 10
1024 768 32 258.1 60.0 25.8 152.1 175.6 127.0 123.9 151.7
Go To Start
BMPSpeed Benchmarks - BMPSpd.exe, BMPSpeed32.exe, BMPSpeed64.exe
BMPSpeed Benchmark generates BMP files up to 512 MB. It measures speed of saving, loading, scrolling, rotating
and editing of 0.5, 1, 2, 4 etc. MB files upwards. The tests carried out are:
1 - Enlarge with blur editing (copy with add/divide instructions) and display.
2 - Save enlargement to disk.
3 - Load from disk, format and display.
4 - Copy from memory scrolling.
5 - Make an extra copy rotating 90 degrees and display.
For further details and results see bmpspeed results.htm (Archive) and 64 bit graphics tests.htm (Archive). These
cover all sorts of issues encountered, mainly with main and graphics memory allocation, and whether fast BitBlt
copying is used or pixel moving functions. The simple explanation is that, firstly, file sizes used by the software are
32 bits, compared with 24 for BMP files, 512 MB images requiring 682 MB. Secondly, twice this space is required for
copying in the rotation test. Then there are other overheads and space for the previous image. There is a buffer in
main memory, where allocated space has to be sequential, but might not be with all the chopping and changing,
leading to exceptionally slow performance due to disk based paging activities. The benchmarks, along with source
codes, are included in Windows-Graphics-Benchmarks.zip.
Below are results on the Core i7 based PC, via Windows 10, where disk drive speeds are clearly greater than 100
MB/second for larger files. Speeds via the newer 32 bit and 64 bit compilations are quite similar, with the latter
slightly faster. The original benchmark appears to be slightly slower, using the larger images. See the next page for
further comment.
BMPSpd.exe Core i7 4820K GTX 650 graphics, Windows 10
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
0.5 0.04 0.02 0.02 0.2 3507.8 0.04 3
1.0 0.08 0.01 0.02 0.3 3819.4 0.04 3
2.0 0.09 0.01 0.05 0.7 4029.7 0.06 3
4.0 0.11 0.05 0.05 1.2 4060.6 0.09 3
8.0 0.14 0.10 0.13 1.6 4251.9 0.13 3
16.0 0.19 0.14 0.21 1.9 4112.6 0.21 3
32.0 0.28 0.35 0.35 2.0 4031.4 0.37 3
64.0 0.38 0.55 0.68 2.0 4053.6 0.63 3
128.0 0.62 1.08 1.33 1.9 4130.1 1.15 3
256.0 1.03 2.22 2.39 1.9 4189.8 2.11 3
512.0 1.32 4.39 4.85 1.9 4141.0 3.38 1
BMPSpeed32.exe Core i7 4820K GTX 650 graphics, Windows 10
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
0.5 0.04 0.01 0.02 0.2 3550.9 0.03 3
1.0 0.08 0.01 0.02 0.4 3787.0 0.04 3
2.0 0.09 0.01 0.03 0.7 3757.4 0.05 3
4.0 0.10 0.06 0.05 1.1 4227.3 0.08 3
8.0 0.13 0.09 0.13 1.7 4099.2 0.11 3
16.0 0.16 0.15 0.20 2.0 4028.0 0.17 3
32.0 0.23 0.28 0.39 1.9 4140.7 0.28 3
64.0 0.35 0.58 0.74 2.0 4053.5 0.48 3
128.0 0.55 1.07 1.17 1.9 4198.5 0.85 3
256.0 0.90 2.28 2.52 2.0 4069.0 1.65 3
512.0 1.60 4.38 4.96 2.0 4067.9 2.92 3
BMPSpeed64.exe Core i7 4820K GTX 650 graphics, Older Windows 10
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
0.5 0.05 0.01 0.04 0.2 3648.3 0.03 3
1.0 0.07 0.01 0.02 0.4 3787.2 0.04 3
2.0 0.08 0.01 0.02 0.8 3523.5 0.05 3
4.0 0.10 0.04 0.05 1.1 4165.9 0.07 3
8.0 0.14 0.08 0.13 1.7 4073.3 0.10 3
16.0 0.15 0.15 0.24 1.9 4131.0 0.15 3
32.0 0.20 0.26 0.39 1.9 4155.2 0.26 3
64.0 0.31 0.58 0.68 2.0 3991.1 0.44 3
128.0 0.49 1.06 1.36 2.0 3971.3 0.83 3
256.0 0.76 2.10 2.50 1.9 4098.1 1.61 3
512.0 1.30 4.30 4.84 1.9 4101.7 2.91 3
See Comparisons in next page
BMPSpeed Comparisons and Memory Use
Below are comparisons, including Windows 10 versus Windows 8 and reported memory use, recorded in the
benchmark log files .
The Window 10 last BMPSpd test was indicated as not using fast BitBlt copying, but some tests were faster than
expected, compared with 256 MB results, but reported memory size was lower.
Window 8 performance is shown to be slightly faster than that via Windows 10. Memory statistics indicate
significant occupancy of the paging file and apparent memory use (larger percentage of significantly more
megabytes).
Perhaps someone might be able to interpret these details.
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
BMPSpd Windows 10
256.0 1.03 2.22 2.39 1.9 4189.8 2.11 3
512.0 1.32 4.39 4.85 1.9 4141.0 3.38 1
BMPSpd Windows 8
256.0 0.87 2.22 2.26 1.4 5861.2 1.96 3
512.0 1.57 4.11 4.52 1.4 5853.2 3.64 3
BMPSpeed64 Windows 10
256.0 0.76 2.10 2.50 1.9 4098.1 1.61 3
512.0 1.30 4.30 4.84 1.9 4101.7 2.91 3
BMPSpeed64 Windows 8
256.0 0.64 2.08 2.31 1.3 5904.1 1.48 3
512.0 1.12 4.45 4.62 1.4 5892.0 2.65 3
Memory Status Maximum Use
BMPSpd Win8 32 Bit 64 Bit
Mbytes of physical memory 2047 4095 32704 32704
Percent of memory in use 11 11 14 14
Free physical memory Mbytes 2047 4095 28061 28109
Mbytes of paging file 4095 4095 37568 37568
Free Mbytes of paging file 4095 4095 32949 33012
User Mbytes of virtual space 2047 2047 4095 134217727
Free user virtual Mbytes 905 930 2954 134216578
Go To Start
JavaDraw Benchmark - javaDrawPC.class
This all Java benchmark uses small to rather excessive simple objects to measure Frames Per Second (FPS)
drawing performance,. The test functions are:
1 - Load two PNG files, one bitmap moving left/right for each frame, the other rotating.
2 - Repeat test 1, avoiding startup overheads.
3 - Add 2 SweepGradient multi-coloured circles, from a file, moving side to centre and back.
4 - Add 200 random drawn small circles in the middle of the screen.
5 - Add 80 lines drawn from the centre of each side to the opposite side, with changing colours.
6 - Add 4000 random drawn small circles, filling the screen.
These benchmarks, including source codes, are available in Windows-Graphics-Benchmarks.zip, to run via Windows
or Linux. Details and results can be found in JavaDraw.htm (Archive), with further information in general
ResearchGate reports on Raspberry Pi and Android benchmarks.
The first version of this benchmark did not repeat test 1 and that produced some slow speeds. The next version
produced unacceptable slow performance on a Core i7 based PC, running Windows 8. This was affected by the
Javax Swing timer apparently misbehaving. The latest version uses Abstract Window Toolkit {AWT) functions, that
seem to behave properly. However, some significant differences were produced using alternative Java packages.
Details of these complications are included in JavaDraw.htm (Archive). This includes some results from using javac
1.6, 1.8 and 1.8, running under JRE 1.6, 1.7 and 1.8. The results below are from running the supplied javaDrawPC
program on the same PC, via Windows and Linux, and showing some significant performance variations.
Online Versions - are included in Windows-Graphics-Benchmarks.zip. These can be used from a remote Internet
site, or from a local disk, via supplied HTML files that load the application Applet. Installation of an appropriate
Java Run Time Environment is required, where access permissions can be set. See JavaDraw.htm (Archive).
**************************************************
Core i7 4820K GTX 650 graphics, Windows 10
Java Drawing Benchmark, Nov 16 2017, 12:01:29
Produced by javac 1.6.0_27
Test Frames FPS
Display PNG Bitmap Twice Pass 1 8434 842.14
Display PNG Bitmap Twice Pass 2 9145 914.41
Plus 2 SweepGradient Circles 9076 906.69
Plus 200 Random Small Circles 5101 509.59
Plus 320 Long Lines 5030 502.75
Plus 4000 Random Small Circles 543 54.21
Total Elapsed Time 60.1 seconds
Operating System Windows 10, Arch. x86, Version 10.0
Java Vendor Oracle Corporation, Version 1.8.0_144
Intel64 Family 6 Model 62 Stepping 4, GenuineIntel, 8 CPUs
**************************************************
Core i7 4820K GTX 650 graphics, Linux Ubuntu 14.04
Java Drawing Benchmark, Nov 17 2017, 11:31:48
Produced by javac 1.6.0_27
Test Frames FPS
Display PNG Bitmap Twice Pass 1 11734 1173.28
Display PNG Bitmap Twice Pass 2 18368 1836.62
Plus 2 SweepGradient Circles 13152 1315.07
Plus 200 Random Small Circles 8040 803.92
Plus 320 Long Lines 3230 322.94
Plus 4000 Random Small Circles 678 67.77
Total Elapsed Time 60.0 seconds
Operating System Linux, Arch. amd64, Version 3.13.0-43-generic
Java Vendor Oracle Corporation, Version 1.8.0_111
null, null CPUs
Go To Start
Linux OpenGL Benchmarks - videogl32, videogl64
This benchmark uses the same basic OpenGL source code as the Windows OpenGL Benchmarks with description
and results provided in linux opengl benchmarks.htm (Archive).. Videogl32 and videogl64 are 32-Bit and 64-Bit
Linux compilations that can be found in linux-graphics-benchmarks.tar.gz, along with source code, BMP files,
compilation and running instructions. The benchmarks measure graphics speed in terms of Frames Per Second
(FPS) via six simple and more complex tests. The first four tests portray moving up and down a tunnel including
various independently moving objects, with and without texturing. The last two tests, represent a real application
for designing kitchens. The first is in wireframe format, drawn with 23,000 straight lines. The second has colours
and textures applied to the surfaces. The tests are:
1 - Plain colours tunnel, plain colours 1 egg plus other flyers
2 - Plain colours tunnel, plain colours 4 eggs and other flyers
3 - Textured tunnel walls, textured egg and other flyers
4 - Textured tunnel all surfaces, 4 textured eggs and other flyers
5 - Wireframe kitchen rotating
6 - Rotating kitchen textured with wall, floor and worktop tiles
A difference from the Windows version textured kitchen, is the the outside scene can be seen thorough the
windows. Another is that run time parameters can be set to execute the programs in different window sizes, using
a script file to produce a tabular results log file.
Below are results from running the benchmarks on the Core i7 based PC. The 64 bit results were produced via the
main 64 bit Ubuntu 14.04 Operating System, demonstrating faster performance than the Windows versions. Using
64 bit Linux, there are complication in installing 32 bit libraries and attempts were abandoned on this PC. The PC
was booted with 32 bit Ubuntu 14.04 from a USB flash drive, to produce the 32 bit results shown below. This
identified another complication, that is the difficulties in turning off vsync, which normally reduces FPS to 60 or
less, as with this case. The 32 bit Ubuntu system did not have a GeForce driver installed, leading to the poor
measured performance (but, at least the benchmark ran).
Note, approval was given to Canonical to include this benchmark in the testing framework for the Unity desktop.
Core i7 4820K GTX 650 graphics, Linux Ubuntu 14.04
Linux OpenGL Benchmark 64 Bit Version 1, Sat Nov 18 17:05:00 2017
Window Size Coloured Objects Textured Objects WireFrm Texture
Pixels Few All Few All Kitchen Kitchen
Wide High FPS FPS FPS FPS FPS FPS
320 240 9851.3 5804.6 1978.9 1174.8 687.3 387.2
640 480 6555.2 5617.1 2231.1 1248.4 720.1 372.4
1024 768 3242.6 3058.5 1917.7 1250.9 721.4 368.0
1280 1024 2230.4 2109.1 1491.4 1172.4 762.0 363.4
1600 1200 1797.3 1753.1 1313.8 1065.0 769.7 363.4
1920 1080 1593.3 1534.1 1217.9 990.6 781.7 371.8
#####################################################################
Core i7 4820K GTX 650 graphics, 32 Bit Linux Ubuntu 14.04
Linux OpenGL Benchmark 32 Bit Version 1, Sun Nov 19 17:32:54 2017
Window Size Coloured Objects Textured Objects WireFrm Texture
Pixels Few All Few All Kitchen Kitchen
Wide High FPS FPS FPS FPS FPS FPS
320 240 64.0 52.0 38.7 33.8 32.4 31.4
640 480 65.8 50.3 39.3 33.6 33.2 31.2
1024 768 64.2 50.3 36.6 33.7 33.4 31.2
1920 1080 60.6 45.0 32.4 30.6 30.0 29.6
Go To Start
Linux - SDL_bmpspd32, SDL_bmpspd64
SDL_bmpspd32 and SDL_bmpspd64 benchmarks execute the same test functions as Windows BMPSpeed
Benchmarks. They are 32 bit and 64 bit varieties compiled to run under Linux using Simple DirectMedia Layer (SDL)
functions. The benchmarks generate BMP files and measure speed of saving, loading, scrolling, rotating and editing
of 0.5, 1, 2, 4 etc. to 512 MB images. Details and results are included in linux image processing benchmarks.htm
(Archive). The benchmarks and source code can be downloaded in linux-graphics-benchmarks.tar.gz. The tests run
are as follows:
1 - Enlarge with blur editing (copy with add/divide instructions) and display.
2 - Save enlargement to disk.
3 - Load from disk, format and display.
4 - Copy from memory scrolling.
5 - Make an extra copy rotating 90 degrees and display.
The PC used for the 64 bit benchmark demonstrated reading and writing speeds of more than 100 MB/second,
using a disk drive. Of the other tests, some were faster and some slower than the Windows benchmark. As shown
in the results below, this version also includes details of memory used in each test.
Again, 32 bit Ubuntu, with a basic graphics driver, was used for the 32 bit benchmark, loaded via a USB flash drive,
resulting in the slow reading and writing speeds.
Core i7 4820K GTX 650 graphics, Linux Ubuntu 14.04
Image Editing Speeds 64 Bit Version 1, Sat Nov 18 17:17:30 2017
Input Enlarge Save Load Scroll Scroll Rotate Max MB
Image Display Display Repeat Overall 90 deg Memory
Mbytes Secs Secs Secs msecs MB/Sec Secs Used
0.5 0.01 0.28 0.01 0.57 880.87 0.00 926.5
1.0 0.01 0.10 0.01 0.98 1014.83 0.01 928.0
2.0 0.01 0.01 0.02 1.71 1225.72 0.02 931.4
4.0 0.02 0.03 0.03 3.69 1012.45 0.03 938.2
8.0 0.03 0.05 0.19 4.81 1099.48 0.02 951.1
16.0 0.05 0.10 0.27 5.89 1055.81 0.06 975.9
32.0 0.06 0.36 0.38 5.84 1065.57 0.06 1026.9
64.0 0.11 0.53 0.76 5.90 1054.69 0.13 1158.6
128.0 0.20 1.13 1.15 5.98 1040.95 0.23 1272.6
256.0 0.37 2.30 2.51 5.65 1101.36 0.60 1615.9
512.0 0.73 4.63 4.71 5.97 1041.72 0.82 2316.5
#####################################################################
Core i7 4820K GTX 650 graphics, 32 Bit Linux Ubuntu 14.04
Image Editing Speeds 32 Bit Version 1, Sun Nov 19 16:21:49 2017
Input Enlarge Save Load Scroll Scroll Rotate Max MB
Image Display Display Repeat Overall 90 deg Memory
Mbytes Secs Secs Secs msecs MB/Sec Secs Used
0.5 0.01 0.12 0.08 1.76 284.03 0.02 443.3
1.0 0.03 0.84 0.18 3.54 282.39 0.01 447.5
2.0 0.02 0.88 1.57 5.96 352.15 0.03 451.5
4.0 0.03 2.18 1.22 9.28 402.08 0.02 439.2
8.0 0.03 1.98 3.21 12.67 417.31 0.05 461.3
16.0 0.05 2.38 2.03 14.27 435.91 0.07 485.6
32.0 0.07 3.54 2.52 16.29 381.83 0.09 523.6
64.0 0.10 7.72 2.28 15.81 393.39 0.14 614.6
128.0 0.19 11.78 4.53 16.56 375.59 0.25 791.1
256.0 0.34 24.84 10.33 17.74 350.60 0.56 1140.7
512.0 0.65 54.50 18.58 17.80 349.44 0.96 1843.4
Go To Start