Dynabook SS 2010 + Ubuntu で全画面表示を高速化
前回の記事で、VESAドライバを使えば
Dynabook SS 2010で全画面表示ができるところまでは検証した。
1024×768で表示されるのはうれしいけれど、VESAドライバじゃ、やっぱ遅い。
もうちょっと何とかならんか?
lspci で調べてみると、ビデオチップは、
Trident CyberBlade XP Ai1
らしい。これ、Xorgのサポート対象に入っている模様。
ということで、早速、ドライバを “trident" としてみるが、
800×600の表示になってしまう。うーむ、、、
調べてみたら、FreeBSDな方の記事が見つかった。
dynabook C7/212CMENにFreeBSDをインストール
http://www10.plala.or.jp/dsuke3/bsdinstall.html
これによると、どうやら、水平・垂直の同期周波数
(HorizSync, VertRefresh)を指定するのがキモらしい。
ということで、xorg.confのビデオ周りを
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 28.0-50.0
VertRefresh 60.0-60.0
EndSection
Section "Device"
Driver "trident"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection
としてみたら、見事に、tridentのドライバで1024×768の表示ができた。
ありがたや。
体感的にはちょっと早いような気がするけれど、よくわからない。
ということで、ベンチマークテスト。
VESAドライバ
$ x11perf -repeat 5 -rect500 -f14text16 -copypixwin500 -putimage5 -shmput500
x11perf - X11 performance program, version 1.2
The X.Org Foundation server version 10900000 on :0.0
from SS2010
Mon Dec 13 16:57:22 2010
Sync time adjustment is 0.2602 msecs.
400 reps @ 13.8726 msec ( 72.1/sec): 500x500 rectangle
400 reps @ 14.4083 msec ( 69.4/sec): 500x500 rectangle
400 reps @ 14.5451 msec ( 68.8/sec): 500x500 rectangle
400 reps @ 14.1982 msec ( 70.4/sec): 500x500 rectangle
400 reps @ 14.3660 msec ( 69.6/sec): 500x500 rectangle
2000 trep @ 14.2780 msec ( 70.0/sec): 500x500 rectangle
320000 reps @ 0.0161 msec ( 62100.0/sec): Char16 in 40-char line (k14)
320000 reps @ 0.0168 msec ( 59400.0/sec): Char16 in 40-char line (k14)
320000 reps @ 0.0179 msec ( 55800.0/sec): Char16 in 40-char line (k14)
320000 reps @ 0.0164 msec ( 60800.0/sec): Char16 in 40-char line (k14)
320000 reps @ 0.0160 msec ( 62400.0/sec): Char16 in 40-char line (k14)
1600000 trep @ 0.0167 msec ( 60000.0/sec): Char16 in 40-char line (k14)
240 reps @ 20.3307 msec ( 49.2/sec): Copy 500x500 from pixmap to window
240 reps @ 21.3674 msec ( 46.8/sec): Copy 500x500 from pixmap to window
240 reps @ 19.8000 msec ( 50.5/sec): Copy 500x500 from pixmap to window
240 reps @ 20.0092 msec ( 50.0/sec): Copy 500x500 from pixmap to window
240 reps @ 20.5047 msec ( 48.8/sec): Copy 500x500 from pixmap to window
1200 trep @ 20.4024 msec ( 49.0/sec): Copy 500x500 from pixmap to window
120 reps @ 57.0882 msec ( 17.5/sec): PutImage 500x500 square
120 reps @ 58.2510 msec ( 17.2/sec): PutImage 500x500 square
120 reps @ 59.0308 msec ( 16.9/sec): PutImage 500x500 square
120 reps @ 56.4416 msec ( 17.7/sec): PutImage 500x500 square
120 reps @ 58.2720 msec ( 17.2/sec): PutImage 500x500 square
600 trep @ 57.8167 msec ( 17.3/sec): PutImage 500x500 square
240 reps @ 20.3060 msec ( 49.2/sec): ShmPutImage 500x500 square
240 reps @ 20.2828 msec ( 49.3/sec): ShmPutImage 500x500 square
240 reps @ 20.3171 msec ( 49.2/sec): ShmPutImage 500x500 square
240 reps @ 21.3308 msec ( 46.9/sec): ShmPutImage 500x500 square
240 reps @ 21.0902 msec ( 47.4/sec): ShmPutImage 500x500 square
1200 trep @ 20.6654 msec ( 48.4/sec): ShmPutImage 500x500 square
Tridentドライバ
$ x11perf -repeat 5 -rect500 -f14text16 -copypixwin500 -putimage500 -shmput500
x11perf - X11 performance program, version 1.2
The X.Org Foundation server version 10900000 on :0.0
from SS2010
Mon Dec 13 16:48:26 2010
Sync time adjustment is 0.1498 msecs.
3000 reps @ 1.7165 msec ( 583.0/sec): 500x500 rectangle
3000 reps @ 1.7319 msec ( 577.0/sec): 500x500 rectangle
3000 reps @ 1.7562 msec ( 569.0/sec): 500x500 rectangle
3000 reps @ 1.8596 msec ( 538.0/sec): 500x500 rectangle
3000 reps @ 1.9149 msec ( 522.0/sec): 500x500 rectangle
15000 trep @ 1.7958 msec ( 557.0/sec): 500x500 rectangle
800000 reps @ 0.0103 msec ( 97600.0/sec): Char16 in 40-char line (k14)
800000 reps @ 0.0092 msec (109000.0/sec): Char16 in 40-char line (k14)
800000 reps @ 0.0086 msec (116000.0/sec): Char16 in 40-char line (k14)
800000 reps @ 0.0083 msec (120000.0/sec): Char16 in 40-char line (k14)
800000 reps @ 0.0084 msec (119000.0/sec): Char16 in 40-char line (k14)
4000000 trep @ 0.0090 msec (112000.0/sec): Char16 in 40-char line (k14)
800 reps @ 11.0048 msec ( 90.9/sec): Copy 500x500 from pixmap to window
800 reps @ 11.1224 msec ( 89.9/sec): Copy 500x500 from pixmap to window
800 reps @ 11.1548 msec ( 89.6/sec): Copy 500x500 from pixmap to window
800 reps @ 11.0363 msec ( 90.6/sec): Copy 500x500 from pixmap to window
800 reps @ 11.2267 msec ( 89.1/sec): Copy 500x500 from pixmap to window
4000 trep @ 11.1090 msec ( 90.0/sec): Copy 500x500 from pixmap to window
160 reps @ 31.4123 msec ( 31.8/sec): PutImage 500x500 square
160 reps @ 31.7406 msec ( 31.5/sec): PutImage 500x500 square
160 reps @ 37.9607 msec ( 26.3/sec): PutImage 500x500 square
160 reps @ 34.8917 msec ( 28.7/sec): PutImage 500x500 square
160 reps @ 31.4348 msec ( 31.8/sec): PutImage 500x500 square
800 trep @ 33.4880 msec ( 29.9/sec): PutImage 500x500 square
800 reps @ 11.0811 msec ( 90.2/sec): ShmPutImage 500x500 square
800 reps @ 11.4720 msec ( 87.2/sec): ShmPutImage 500x500 square
800 reps @ 11.1483 msec ( 89.7/sec): ShmPutImage 500x500 square
800 reps @ 11.2621 msec ( 88.8/sec): ShmPutImage 500x500 square
800 reps @ 11.1443 msec ( 89.7/sec): ShmPutImage 500x500 square
4000 trep @ 11.2216 msec ( 89.1/sec): ShmPutImage 500x500 square
数字で見るとかなり改善していることが分かる。
これで終了、のつもりだったけど、やっぱり続く。
ディスカッション
コメント一覧
まだ、コメントがありません