0. About this document
このページでは Managed DirectX (以下 MDX) を使ったアプリケーション開発初心者向けの資料を掲載しています.初心者向けということで一部敢えて不正確な記述を選んでいることがあります.
また,MDX アプリケーションユーザ向けの情報をお探しの方は利用者向けページに移動して下さい.
1. Introduction
このページでは MDX を使ったアプリケーションの開発環境を整えるところまでを説明します.
2. Contents
- 想定する環境
この文章では,開発環境として以下のようなものを想定します.
- Windows2000 SP4 以降または / WindowsXP SP1 以降
- DirectX 9.0c 用のドライバが提供されている GPU
- VisualStudio .NET 2003
注意として VisualStudio .NET 2002 は避けてください.VisualStudio .NET 2002 では,最新の SDK を用いた MDX アプリケーション開発がサポートされていません.公式にサポートされている VisualStudio 2003 を使用します.また,VisualStudio .NET 2003 は Windows 9x 系にはインストールできません.Windows 2000 以降の NT 系 OS を使用します.
また,次回以降の SDK の更新では Windows2000 が開発環境としてサポートから外されます.現在 Windows2000 で開発を行われている方はより新しい OS への移行をご検討下さい.
VisualStudio .NET 2003 の代わりに Borland 製の開発環境またはいくつかの無料の開発環境を利用することも可能ですが,情報の入手のしやすさから上記の構成をお勧めします.学生の方は Visual Studio .NET theSpoke Premium Version 2003 が大変お買い得です.- 開発用マシンの危険性
- 開発用マシンについて注意です.
環境構築では開発用ソフトウェアをインストールたり,OS の設定を変更したりします.さらに開発途中の不完全なプログラムを何度も実行させることになります.このような作業中に Windows の環境を破壊してしまい,起動しなくなってしまうこともあります.万一に備えて開発用マシンの OS 環境は日常作業に用いる環境と分けて下さい.どうしても日常作業と同じ環境を用いる必要があるときは,こまめなバックアップを行い必要な自衛策を採って下さい.
また開発用マシンでは様々な設定をデバッグ用に変更するため,ベンチマークや一般ゲームのパフォーマンスが低下することがあります.ハードウェアトラブルと間違いやすいので注意して下さい. - ハードウェアの選定
- CPU,メモリに関しては出来る限りパフォーマンスが高いものを利用します.マルチスレッドを利用したアプリケーションを開発する場合,動作検証のために
SMP 環境または HyperThreading 環境を用意することが望ましいです.
GPU は基本的には利用したい機能をハードウェアサポートしているものを選択します.GPU が必要な機能を持たない場合ソフトウェアエミュレーションを利用しての開発は可能ですが,パフォーマンスは大きく下がるため検証作業が困難になります. - SDK のインストール
DirectX SDK をインストールする前にいくつかの作業があります.事前に VisualStudio .NET 2003 をインストールしておき,.NET Framework を用いたアプリケーションが正常に動作することを確認しておいて下さい.DirectX SDK Update (December 2004) 以前の DirectX SDK はあらかじめアンインストールしておいてください.GPU ドライバを最新にしておいてください.
DirectX SDK Update (December 2004) は Microsoft のサイトからダウンロード可能です.以下のパッケージをダウンロードします.Software Developer Kit のインストールを始める前に必ずリリースノートを精読して下さい.
リリースノートを読み終えたら SDK のインストールを始めます.インストール時の設定はほとんどの場合デフォルトのままで問題ありません.SDK のインストール終了後は,念のため OS の再起動を行います.- デバッグ設定の変更
SDK のインストールが終わったところでデバッグに関する設定変更を行います.コントロールパネルから「DirectX」の設定ツールを起動します.
デフォルトではリテール版の MDX ランタイムがインストールされますので,デバッグ版に切り替えます.
後は利用するコンポーネントごとの設定を行います.以下に筆者が普段利用している「Direct3D」の設定を紹介しておきます.デバッグ用途には以下の設定をお勧めしますが,パフォーマンスはある程度犠牲になります.他にも「DirectInput」や「DirectSound」などコンポーネントごとに設定が可能です.必要なコンポーネントについてデバッグ寄りの設定に変更して下さい.「Direct3D」に関する設定は,VisualStudio .NET 2003のオプション設定からも行うことが可能です.
VisualStudio .NET 2003 のオプション設定- デバッグメッセージモニタの準備
-
MDX Runtime とその内部で動く DirectX Runtime はデバッグメッセージを出力することがあります.これらのメッセージは従来の Win32 API のデバッグ API を用いて出力されています.しかし Visual Studio の C# プロジェクトではデフォルトで [アンマネージ デバッグを有効にする] が [false] のため,そのままでは [出力ペイン] にデバッグメッセージは表示されません.メッセージをモニタするには,Visual Studio 以外のモニタプログラムを用いるか,Visual Studio のアンマネージデバッグを有効にする必要があります.Visual Studio のアンマネージデバッグを有効にした場合デバッグ時のパフォーマンスが大きく悪化するため,特に理由がない限りはデバッグモニタ用のプログラムを別に起動することをお奨めします.有名なモニタ用プログラムを 2 つほど紹介しておきます.
- DebugView
- sysinternals よりダウンロードできるデバッグモニタです.実行には管理者権限が必要です.
- DBMon
- Windows Platform SDK に含まれるデバッグモニタです.
最新版の Platform SDK for Windows XP SP2 ではデフォルトで "C:\Program Files\Microsoft Platform SDK for Windows XP SP2\Bin\winnt\Dbmon.exe" にインストールされます.
- インストール後の動作検証
これで一通りのセットアップは終了です.ここでサンプルプログラムが実際に動作するかを確かめて下さい. テストの際にデバッグモニタも起動しておいてください.正しくデバッグ設定が行われていれば,デバッグモニタにメッセージが表示されます.
スタートメニューからサンプルブラウザを起動し,MDX サンプルから EmptyProject を実行します.このサンプルが正常に起動しない場合ハードウェアや OS 環境に問題がある可能性があります.アプリケーションの開発を始める前に,サンプルが正常に起動できる環境を整えてください.
サンプルブラウザから EmptyProject を起動