GraphicTest
GraphicTest is simple program which measure FPS of various direct drawing methods.
Listed benchmarks results are dependent on:
- computer hardware
- compiler optimizations
- operating system
- display color depth
- used GUI toolkit
- vertical sync and max FPS limit
In some methods it is necessary to do swapping B a R component of color in some platforms which results to better/worst test score.
Test 1
Hardware: AMD Turion X2 1,8 GHz, 2 GB RAM, HD2400
OS: Ubuntu 12.10, GNU/Linux kernel 3.5.0 i686, Gtk2
Method | FPS | Frame duration [ms] |
---|---|---|
TBitmap.Canvas.Pixels | 1 | 1031.7 |
TBitmap.Canvas.Pixels Update locking | 3.2 | 308.1 |
TLazIntfImage.Colors copy | 54.3 | 18.4 |
TLazIntfImage.Colors no copy | 64.4 | 15.5 |
TBitmap.RawImage.Data | 102.2 | 9.8 |
TBitmap.RawImage.Data PaintBox | 102.5 | 9.8 |
TBitmap.RawImage.Data Move | 116 | 8.6 |
TBGRABitmap PaintBox | 123.1 | 8.1 |
TGR32Image | 68.5 | 14.6 |
OpenGL | 56.7 | 17.6 |
OpenGL PBO | 152.4 | 6.6 |
Dummy | 38166.3 | 0 |
Conclusion the faster method with a good video card:
1) OpenGL PBO
2) TBGRABitmap PaintBox
Test 2
Hardware: Intel Celeron CPU 2.66 GHz, 1.50 GB RAM, NVIDIA GeForce 6200.
OS: Windows 7 x86.
Method | FPS | Duration |
---|---|---|
TBitmap.Canvas.Pixels | 1.44 | 694.82 |
TBitmap.Canvas.Pixels Update locking | 7.81 | 128.07 |
TLazIntfImage.Colors copy | 96.6 | 10.35 |
TLazIntfImage.Colors no copy | 96.7 | 10.34 |
TBitmap.RawImage.Data | 462 | 2.16 |
TBitmap.RawImage.Data PaintBox | 482 | 2.07 |
TBGRABitmap PaintBox | 369 | 2.70 |
OpenGL | 60.2 | 16.61 |
OpenGL PBO | 60.1 | 16.63 |
Conclusion the faster method (less duration in ms) with highest fps:
1) Bitmap.RawImage.Data PaintBox
2) TBitmap.RawImage.Data
3) TBGRABitmap PaintBox
Test Project
Test project can be downloaded from svn repository:
svn checkout http://svn.zdechov.net/svn/PascalClassLibrary/GraphicTest/