Sign in Join
Wiki copytemporary

GraphicTest/ja: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## 導入
22
33GraphicTest は、様々な direct drawing methods (直接描画手法) によるFPSを計測するプログラムです。目的は、オフスクリーンでのカスタムビットマップを画面上の表示エリアにコピーする場合に、どの手法が最速かを決めるためです。
44
55後述するベンチマークの結果は、以下に依存します:
66
77- コンピューターのハードウェア
88- コンパイラの最適化オプションの有無
99- OS
1010- 使われている GUI ツールキット
1111- VSYNC と FPS 上限
1212- ディスプレイの色深度 (デフォルトは 32-bit)
1313- 計測に用いる画像の解像度 (デフォルトは 320x240)
1414
1515いくつかのプラットフォームでより良い、または、より悪い結果を求めるためには、描画手法における B(Blue)とR(Red)のコンポーネントを入れ替えることが必要になります。
1616
1717### Test 1
1818
1919**Hardware:** AMD Turion X2 1,8 GHz, 2 GB RAM, HD2400
2020
2121#### Test 1.1
2222
2323**OS:** Ubuntu 12.10, GNU/Linux kernel 3.5.0 i686, Gtk2
2424
2525| Method | FPS | Frame duration \[ms\] |
2626|--------------------------------------|---------|-----------------------|
2727| TBitmap.Canvas.Pixels | 1 | 1031.7 |
2828| TBitmap.Canvas.Pixels Update locking | 3.2 | 308.1 |
2929| TLazIntfImage.Colors copy | 54.3 | 18.4 |
3030| TLazIntfImage.Colors no copy | 64.4 | 15.5 |
3131| TBitmap.RawImage.Data | 102.2 | 9.8 |
3232| TBitmap.RawImage.Data PaintBox | 102.5 | 9.8 |
3333| TBitmap.RawImage.Data Move | 116 | 8.6 |
3434| TBGRABitmap PaintBox | 123.1 | 8.1 |
3535| TGR32Image | 68.5 | 14.6 |
3636| OpenGL | 56.7 | 17.6 |
3737| OpenGL PBO | 152.4 | 6.6 |
3838| Dummy | 38166.3 | 0 |
3939
4040#### Test 1.2
4141
4242**OS:** Ubuntu 12.10, GNU/Linux kernel 3.5.0 i686, Qt4
4343
4444| Method | FPS | Frame duration \[ms\] |
4545|--------------------------------------|-------|-----------------------|
4646| TBitmap.Canvas.Pixels | 3.2 | 312.8 |
4747| TBitmap.Canvas.Pixels Update locking | 4.3 | 232.3 |
4848| TLazIntfImage.Colors copy | 80.1 | 12.5 |
4949| TLazIntfImage.Colors no copy | 85.1 | 11.7 |
5050| TBitmap.RawImage.Data | 223.4 | 4.5 |
5151| TBitmap.RawImage.Data PaintBox | 225.9 | 4.4 |
5252| TBitmap.RawImage.Data Move | 276.9 | 3.6 |
5353| TBGRABitmap PaintBox | 112.5 | 8.9 |
5454| Dummy | 489.6 | 2 |
5555
5656#### Test 1.3
5757
5858**OS:** Windows 8 32-bit
5959
6060| Method | FPS | Frame duration \[ms\] |
6161|--------------------------------------|--------|-----------------------|
6262| TBitmap.Canvas.Pixels | 2,8 | 351 |
6363| TBitmap.Canvas.Pixels Update locking | 9,6 | 103,9 |
6464| TLazIntfImage.Colors copy | 93,6 | 10,7 |
6565| TLazIntfImage.Colors no copy | 97,8 | 10,2 |
6666| TBitmap.RawImage.Data | 258,2 | 3,9 |
6767| TBitmap.RawImage.Data PaintBox | 256,6 | 3,9 |
6868| TBitmap.RawImage.Data Move | 342,5 | 2,9 |
6969| TBGRABitmap PaintBox | 428 | 2,3 |
7070| TGR32Image | 464,8 | 2,2 |
7171| OpenGL | 221,6 | 4,5 |
7272| OpenGL PBO | 330,7 | 3 |
7373| Dummy | 112824 | 0 |
7474
7575### Test 3
7676
7777**Hardware:** Intel Celeron CPU 2.66 GHz, 1.50 GB RAM, NVIDIA GeForce 6200.
7878
7979**OS:** Windows 7 x86.
8080
8181| Method | FPS | Duration |
8282|--------------------------------------|------|----------|
8383| TBitmap.Canvas.Pixels | 1.44 | 694.82 |
8484| TBitmap.Canvas.Pixels Update locking | 7.81 | 128.07 |
8585| TLazIntfImage.Colors copy | 96.6 | 10.35 |
8686| TLazIntfImage.Colors no copy | 96.7 | 10.34 |
8787| TBitmap.RawImage.Data | 462 | 2.16 |
8888| TBitmap.RawImage.Data PaintBox | 482 | 2.07 |
8989| TBGRABitmap PaintBox | 369 | 2.70 |
9090| OpenGL | 60.2 | 16.61 |
9191| OpenGL PBO | 60.1 | 16.63 |
9292
9393**Conclusion** the faster method (less duration in ms) with highest fps:
9494
95951\) Bitmap.RawImage.Data PaintBox
9696
97972\) TBitmap.RawImage.Data
9898
99993\) TBGRABitmap PaintBox
100100
101101### Test 4
102102
103103**Hardware:** AMD Sempron 1,6 GHz, 1 GB DDR, NVIDIA GeForce FX 5200
104104
105105**OS:** Windows XP SP3
106106
107107| Method | FPS | Frame duration \[ms\] |
108108|--------------------------------------|-------|-----------------------|
109109| TBitmap.Canvas.Pixels | 3,7 | 267,6 |
110110| TBitmap.Canvas.Pixels Update locking | 12,7 | 78,6 |
111111| TLazIntfImage.Colors copy | 76,2 | 13,1 |
112112| TLazIntfImage.Colors no copy | 85,9 | 11,6 |
113113| TBitmap.RawImage.Data | 205 | 4,9 |
114114| TBitmap.RawImage.Data PaintBox | 295,3 | 3,4 |
115115| TBitmap.RawImage.Data Move | 241,3 | 4,1 |
116116| TBGRABitmap PaintBox | 343,7 | 2,9 |
117117| TGR32Image | 320,8 | 3,1 |
118118| OpenGL | 7,1 | 141,5 |
119119| OpenGL PBO | 6,5 | 154,6 |
120120| Dummy | 88110 | 0 |
121121
122122### Test 5
123123
124124**Conditions:** Intel Core 2 Duo 2,66 GHz; 2 GB DDR2, NVIDIA GeForce 8600 GT, Windows XP SP3 32-bit
125125
126126| Method | FPS | Frame duration \[ms\] |
127127|--------------------------------------|----------|-----------------------|
128128| TBitmap.Canvas.Pixels | 7,2 | 138,9 |
129129| TBitmap.Canvas.Pixels Update locking | 28,4 | 35,2 |
130130| TLazIntfImage.Colors copy | 183,4 | 5,5 |
131131| TLazIntfImage.Colors no copy | 207,8 | 4,8 |
132132| TBitmap.RawImage.Data | 680,8 | 1,5 |
133133| TBitmap.RawImage.Data PaintBox | 1124,5 | 0,9 |
134134| TBitmap.RawImage.Data Move | 781,6 | 1,3 |
135135| TBGRABitmap PaintBox | 1093,2 | 0,9 |
136136| TGR32Image | 1954,1 | 0,5 |
137137| OpenGL | 963,3 | 1 |
138138| OpenGL PBO | 1757,4 | 0,6 |
139139| Dummy | 401069,4 | 0 |
140140
141141### Test 6(20170503: 訳者の結果です。)
142142
143143**Conditions:** Intel Core i7-3630QM 2,40 GHz; 8 GB, Windows 8.1 64-bit
144144
145145| Method | FPS | Frame duration \[ms\] |
146146|--------------------------------------|----------|-----------------------|
147147| TBitmap.Canvas.Pixels | 1,8 | 544,8 |
148148| TBitmap.Canvas.Pixels Update locking | 10,0 | 100,1 |
149149| TLazIntfImage.Colors copy | 113,2 | 8,8 |
150150| TLazIntfImage.Colors no copy | 131,8 | 7,6 |
151151| TBitmap.RawImage.Data | 662,9 | 1,5 |
152152| TBitmap.RawImage.Data PaintBox | 650,1 | 1,5 |
153153| TBitmap.RawImage.Data Move | 1047,3 | 1,0 |
154154| TBGRABitmap PaintBox | 640,9 | 1,6 |
155155| OpenGL | 316,0 | 3.2 |
156156| OpenGL PBO | 728,7 | 1,4 |
157157| Dummy | 219514,5 | 0.005 |
158158
159159## ダウンロード
160160
161161プログラムは、以下の svn リポジトリからダウンロードできます。
162162
163-`svn checkout `[`http://svn.zdechov.net/svn/PascalClassLibrary/GraphicTest/`](http://svn.zdechov.net/svn/PascalClassLibrary/GraphicTest/)
163+```text
164+svn checkout http://svn.zdechov.net/svn/PascalClassLibrary/GraphicTest/
165+```
164166
165167## 関連情報
166168
167169- [[Fast direct pixel access/ja]]
168170
169171---
170172*From the Free Pascal wiki, page "GraphicTest/ja", as it stood on 2017-05-04 after a change by Miyatakejiro, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
171173Category: Example programs/ja
172174Category: Graphics/ja

Back to history