Q:
Quartz Extreme によって特定のディスプレイがハードウェアアクセラレートされているかどうかを確認するには、どうすればよいですか?
A:
Mac OS X v10.2 (Jaguar) には、まさしくそれを目的とした CGDisplayUsesOpenGLAcceleration という新規 API が「CGDisplayConfiguration.h」ヘッダファイルにあります。「CGDisplayConfiguration.h」ヘッダファイルは、Core Graphics framework (CoreGraphics.framework) に含まれています。この Core Graphics framework は、Application Services framework (ApplicationServices.framework) の一部です。リスト 1 に CGDisplayUsesOpenGLAcceleration の典型的な使用法を示します。
/*
CGDisplayUsesOpenGLAcceleration() は CGDirectDisplayID
パラメタを受け取って、boolean_t の結果を返します
*/
/* CGDisplayUsesOpenGLAcceleration() のプロトタイプ */
#include <ApplicationServices/ApplicationServices.h>
/* ディスプレイがアクセラレートさ
れているかどうかを確認するコード */
if ( CGDisplayUsesOpenGLAcceleration( displayID ) )
{
/* グラフィックス機能をフル活用する */
}
else
{
/* グラフィックス機能を限定使用する */
}
| |
リスト 1. OpenGL アクセラレーションのチェック
|
[2002 年 12 月 3 日]
|