07.描画速度の計測
06.で作成したモデルビューワに、描画速度をステータスバーに表示する機能を付加します。
プロジェクトを開く
06.で作成したモデルビューワプロジェクトを開きます。
ステータスバー作成処理の追加
ModelViewer.cpp に
#include <commctrl.h>
および
#pragma comment( lib, "comctl32.lib" )
を追加します。
ModelViewer.cpp の WndProc関数に、ステータスバーハンドラ変数の宣言を追加をします。
WM_CREATE ウィンドウメッセージ処理に、ステータスバー作成処理を追加します。
ウインドウのサイズ変更に、ステータスバーのサイズ、位置が追従するように、
ModelViewer.cpp の WndProc関数の、WM_SIZE ウィンドウメッセージ処理に、ステータスバーのサイズ変更処理を追加します。
ビルドし、エラー、警告がないことを確認します。
描画速度をステータスバーに表示する処理の追加
ModelViewer.cpp に
#include <mmsystem.h>
および
#pragma comment( lib, "winmm.lib" )
を追加します。
ModelViewer.cpp の WndProc関数の、WM_PAINT ウィンドウメッセージ処理の、Render関数の前後に、描画速度を計る処理および、ステータスバーに計測結果を表示する処理、を追加します。
ビルドし、エラー、警告がないことを確認します。
実行
実行し、アスキー形式STLファイルからモデルデータを読み込み、回転等の再描画が発生する操作を行なった際に、描画速度がステータスバーに表示されることを確認します。
描画速度はステータスバーに表示されます。
- fps
- frame per second : 1秒間に描画できる回数を表します。数値が大きいほど、描画速度は速いことになります。
- spf
- second per frame : 1回の描画に要する時間を表します。数値が小さいほど、描画速度は速いことになります。
ダウンロード
実行形式ファイルダウンロード (ModelViewerDirect3DWinAPI2008_07_exe.lzh)
ソースファイルダウンロード (ModelViewerDirect3DWinAPI2008_07_src.lzh)