Addicted to Mac

こころおどるコンピュータ。

QuartzGLでLeopardがパッキパキに速くなる?

text:

Mac OS X 10.4 Tigerに、グラフィックカードのGPUによる描画処理を可能にする隠し機能「Quartz 2D Extreme」というものがありました。Mac OS X 10.5 Leopardになってその機能は廃止されたものと思っていたのですが、「QuartzGL」と名を変えてLeopardにも搭載されていることが判明。勇気がある人は試してみてはいかが。

Quartz 2D Extremeは10.4.0から搭載された新機能。Mac OS Xのグラフィック描画はQuartzが担っていますが、10.2 Jaguarでその部分的な処理をCPUではなくGPUに負担させるQuartz Extremeが採用されました。その後10.4 TigerになってそのQuartz Extremeの担当部分を拡張したQuartz 2D Extremeがひっそりと搭載されていたのですが、Tigerの最終バージョンである10.4.11に至ってもデフォルトでは無効のままにされ続けました。

対応するグラフィックカードを搭載したMacであれば、場合によっては驚くほどグラフィック性能の向上が見込めるという素晴らしい機能でしたが、Appleが最終バージョンまで無効にし続けた理由は想像に難くありません。もろもろバグを抱えており10.4.3では「Quartz 2D Extremeを無効にする」アップデートも適用されたほどですので、実用に耐えうるクオリティにはならなかったということです。僕もTiger時代に興味本位で以下を参考に試してみたことがありますが、確かに驚くほど画面描画の体感速度が上がるものの画面が乱れる不具合も発生し、それ以来使用を控えてきました。

勇気を出してQuartzGLを有効にしてみた

そんな曰くつきのQuartz 2D Extremeですが、とうとう日の目を見ないままLeopardでは廃止されてしまい、残念に思っていたところ、どうやら「QuartzGL」に名を変えて残っていたことが分かりました。相変わらずデフォルトでは無効になっていることからまだ実用レベルではないということだと思いますが、Macのユーザフォーラム等では機能を有効にする方法についても話題に上がっております。

ちょっと怖いなという気持ちもありましたがやはり興味が勝ってしまい、さっそくフォーラムに上げられている方法でQuartzGLを有効にしてみました。方法は下記の通りですが、決して使用を奨めるものではありません。

※試したいという方はあくまでも自己責任でお願いいたします。
  1. ターミナルを起動する。
  2. コマンドラインに以下を入力。
    sudo defaults write /Library/Preferences/com.apple.windowserver QuartzGLEnabled -boolean YES
  3. Enterキーを押す。
  4. 管理者権限のパスワードを聞かれますので入力し、Enterキーを押す。Macを一人で使われているのなら、パスワードはログイン時のものです。
  5. Macを再起動する。

再起動後にシステムプロファイラの「グラフィックス/ディスプレイ」にこのエントリの冒頭の画像のように「QuartzGL:対応」という項目が表示されていればQuartzGLが有効になっています。表示されていないという方は設定に失敗されたか、そもそも対応したグラフィックカードを積んでいないということになります。

もしなんらかの不具合が出てQuartzGLを無効に戻したい場合は、上記のYES部分をNOに変えて再度実行すればOKです。

いまのところ僕の環境(MacBook Pro 17" Late 2006 + Mac OS X 10.5.2)で、日常的に使うアプリケーションには特に問題が発生していません。ちょっと危険かもしれませんがしばらく様子を見たいと思います。

...というのも。なんか各種インタフェースの挙動がパッキパキなんです。パキッ、パキッ、といつもよりスムーズに反応が返ってくる感覚。比較的新しいマシンですし、もともと動作に不満を感じていたというわけでも無かったのですが、メニューの表示やら細かいアニメーションの演出やら至る箇所の描画レスポンスがQuartzGLを有効化する前よりも良くなっていて心なしか気持ちいい。Safariのスクロール速度は確実に滑らかになっている気が。こんなにパキパキしてたっけ?

ベンチマークを取ってみた

まぁ「気がする」だけでは信憑性に欠けると思いましたので、いちおうQuartzGLを有効にする前と後とでXbenchによるベンチマークを取ってみました。前者がQuartzGL無効の状態、後者が有効の状態です。いずれもマシンの再起同後にすぐにXbenchを立ち上げて計測したものです。

このキャプチャはグラフィックテスト部分の抜粋となりますが、QuartzGL Graphics Testではおよそ25%、Lineに至っては80%以上も高速化しています。一方OpenGL Graphics TestとUser Interface Testではそれぞれ7%と2%の幅で値が下がってしまっていますね。ただ、QuartzGL有効の状態でもう一度テストしたところ今度は少し高速になるなどしましたので、これは誤差の範囲かもしれません。何回も試して統計を取る気にはなれませんでしたのでご了承下さい。

というわけでその度合いはマシンにもよると思いますが、速くなることは間違いなさそう。CPUが遅めなMacBook Airなどで試したら効果的なのかも(何度も言うように自己責任でお願いシマス)。このまま好調に動いてくれるのなら速いに超したことないし、こういった優れた機能は早くデフォルトで有効化できるようにAppleには頑張って欲しいと思います。