GtkPerfについてと幾つかのGTK+ 2エンジンの速度比較
GTK+ 2のGUI部品に関する処理速度を計測し、色々な条件で比較するのに役立つGtkPerf(gtkperf.sourceforge.net)というツールがある。
異なるGTK+エンジンによってどの程度動作の重さ/軽さに影響するかを調べるのに使える他、GTK+やXのバージョンが変わったときに速度がどの程度変わる/変わらないのかも調べられる。
ディストリのパッケージ
Debian/Ubuntu/Gentoo/Fedoraには同名のパッケージが用意されている。Mandriva Linuxにはパッケージがないので作成し、別館の配布ページに公開した。(2014/10/12)配布ページは削除済み。
エンジンによる比較
下のテスト結果はAthlon64 3500+を1000MHz固定で動かしたときのもので、Compizを使用している。- Auroraエンジンは重いエンジンの部類に入る*1が、シンプル系の外観を持つエンジンにも重いものがある
- Xfceエンジンを用いたXfce系テーマは全般的に軽いものが多い
- 試した中で最も軽いエンジンは(2002年のRed Hat Linux 8.0で登場した)Bluecurveエンジン*2で、幾つかのシンプル系エンジンよりも更に軽さがわずかに上回る
- Mandriva LinuxのIa Oraは軽めなほうだった
以下、エンジンごとの具体的な値となる。各処理にかかった時間を計測しているため、値は小さいほうが速い。「エンジンを先に切り替えた後でアプリケーションを起動し、測定後終了して次のエンジンに切り替える」という流れで結果を取得した。
(2010/12/16)Debian/UbuntuにおけるBluecurveエンジンに関しての記述を修正
ClearlooksClassic
GtkEntry - time: 0.12 GtkComboBox - time: 8.50 GtkComboBoxEntry - time: 3.90 GtkSpinButton - time: 2.85 GtkProgressBar - time: 3.22 GtkToggleButton - time: 3.74 GtkCheckButton - time: 0.62 GtkRadioButton - time: 0.69 GtkTextView - Add text - time: 1.88 GtkTextView - Scroll - time: 0.78 GtkDrawingArea - Lines - time: 1.97 GtkDrawingArea - Circles - time: 2.16 GtkDrawingArea - Text - time: 6.17 GtkDrawingArea - Pixbufs - time: 0.63 --- Total time: 37.24
Clearlooks
GtkEntry - time: 0.09 GtkComboBox - time: 6.02 GtkComboBoxEntry - time: 3.87 GtkSpinButton - time: 2.61 GtkProgressBar - time: 2.57 GtkToggleButton - time: 1.95 GtkCheckButton - time: 0.46 GtkRadioButton - time: 0.74 GtkTextView - Add text - time: 1.92 GtkTextView - Scroll - time: 0.81 GtkDrawingArea - Lines - time: 1.88 GtkDrawingArea - Circles - time: 2.15 GtkDrawingArea - Text - time: 5.93 GtkDrawingArea - Pixbufs - time: 0.58 --- Total time: 31.59
Aurora (1.5)
GtkEntry - time: 0.11 GtkComboBox - time: 5.52 GtkComboBoxEntry - time: 3.17 GtkSpinButton - time: 1.68 GtkProgressBar - time: 0.51 GtkToggleButton - time: 1.76 GtkCheckButton - time: 0.73 GtkRadioButton - time: 1.21 GtkTextView - Add text - time: 2.00 GtkTextView - Scroll - time: 1.13 GtkDrawingArea - Lines - time: 1.93 GtkDrawingArea - Circles - time: 2.14 GtkDrawingArea - Text - time: 5.78 GtkDrawingArea - Pixbufs - time: 0.68 --- Total time: 28.36
Industrial
GtkEntry - time: 0.13 GtkComboBox - time: 5.03 GtkComboBoxEntry - time: 2.12 GtkSpinButton - time: 0.32 GtkProgressBar - time: 0.28 GtkToggleButton - time: 2.64 GtkCheckButton - time: 0.38 GtkRadioButton - time: 0.48 GtkTextView - Add text - time: 1.95 GtkTextView - Scroll - time: 0.77 GtkDrawingArea - Lines - time: 1.86 GtkDrawingArea - Circles - time: 2.26 GtkDrawingArea - Text - time: 6.02 GtkDrawingArea - Pixbufs - time: 0.65 --- Total time: 24.86
Xfce-4.2
GtkEntry - time: 0.11 GtkComboBox - time: 2.13 GtkComboBoxEntry - time: 1.72 GtkSpinButton - time: 0.24 GtkProgressBar - time: 0.12 GtkToggleButton - time: 0.42 GtkCheckButton - time: 0.20 GtkRadioButton - time: 0.28 GtkTextView - Add text - time: 1.86 GtkTextView - Scroll - time: 0.60 GtkDrawingArea - Lines - time: 1.89 GtkDrawingArea - Circles - time: 2.11 GtkDrawingArea - Text - time: 5.99 GtkDrawingArea - Pixbufs - time: 0.70 --- Total time: 18.37
Simple
GtkEntry - time: 0.10 GtkComboBox - time: 2.11 GtkComboBoxEntry - time: 1.45 GtkSpinButton - time: 0.31 GtkProgressBar - time: 0.11 GtkToggleButton - time: 0.35 GtkCheckButton - time: 0.18 GtkRadioButton - time: 0.54 GtkTextView - Add text - time: 1.95 GtkTextView - Scroll - time: 0.46 GtkDrawingArea - Lines - time: 1.82 GtkDrawingArea - Circles - time: 2.25 GtkDrawingArea - Text - time: 5.95 GtkDrawingArea - Pixbufs - time: 0.63 --- Total time: 18.24
Ia Ora Free
GtkEntry - time: 0.10 GtkComboBox - time: 2.08 GtkComboBoxEntry - time: 1.52 GtkSpinButton - time: 0.28 GtkProgressBar - time: 0.18 GtkToggleButton - time: 0.40 GtkCheckButton - time: 0.19 GtkRadioButton - time: 0.27 GtkTextView - Add text - time: 1.97 GtkTextView - Scroll - time: 0.59 GtkDrawingArea - Lines - time: 1.94 GtkDrawingArea - Circles - time: 2.09 GtkDrawingArea - Text - time: 6.01 GtkDrawingArea - Pixbufs - time: 0.59 --- Total time: 18.23
Redmond
GtkEntry - time: 0.10 GtkComboBox - time: 1.75 GtkComboBoxEntry - time: 1.46 GtkSpinButton - time: 0.29 GtkProgressBar - time: 0.13 GtkToggleButton - time: 0.37 GtkCheckButton - time: 0.20 GtkRadioButton - time: 0.62 GtkTextView - Add text - time: 1.92 GtkTextView - Scroll - time: 0.60 GtkDrawingArea - Lines - time: 1.80 GtkDrawingArea - Circles - time: 2.14 GtkDrawingArea - Text - time: 6.06 GtkDrawingArea - Pixbufs - time: 0.62 --- Total time: 18.06
Mist
GtkEntry - time: 0.11 GtkComboBox - time: 1.94 GtkComboBoxEntry - time: 1.66 GtkSpinButton - time: 0.21 GtkProgressBar - time: 0.14 GtkToggleButton - time: 0.36 GtkCheckButton - time: 0.17 GtkRadioButton - time: 0.56 GtkTextView - Add text - time: 1.88 GtkTextView - Scroll - time: 0.57 GtkDrawingArea - Lines - time: 1.79 GtkDrawingArea - Circles - time: 2.13 GtkDrawingArea - Text - time: 5.78 GtkDrawingArea - Pixbufs - time: 0.74 --- Total time: 18.06
Xfce-curve
GtkEntry - time: 0.10 GtkComboBox - time: 2.22 GtkComboBoxEntry - time: 1.51 GtkSpinButton - time: 0.21 GtkProgressBar - time: 0.25 GtkToggleButton - time: 0.22 GtkCheckButton - time: 0.19 GtkRadioButton - time: 0.25 GtkTextView - Add text - time: 1.92 GtkTextView - Scroll - time: 0.50 GtkDrawingArea - Lines - time: 1.88 GtkDrawingArea - Circles - time: 2.20 GtkDrawingArea - Text - time: 5.90 GtkDrawingArea - Pixbufs - time: 0.59 --- Total time: 17.96
Bluecurve
GtkEntry - time: 0.10 GtkComboBox - time: 2.02 GtkComboBoxEntry - time: 1.59 GtkSpinButton - time: 0.20 GtkProgressBar - time: 0.15 GtkToggleButton - time: 0.23 GtkCheckButton - time: 0.17 GtkRadioButton - time: 0.22 GtkTextView - Add text - time: 1.85 GtkTextView - Scroll - time: 0.55 GtkDrawingArea - Lines - time: 1.93 GtkDrawingArea - Circles - time: 2.05 GtkDrawingArea - Text - time: 5.98 GtkDrawingArea - Pixbufs - time: 0.67 --- Total time: 17.73
関連URL:
- http://web.archive.org/web/20130911105923/http://gianvito.wordpress.com/2008/02/20/gtk-engines-benchmarks-whats-the-fastest/ - 同様の比較で、やはりBluecurveが軽い
使用したバージョン: