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回の描画に要する時間を表します。数値が小さいほど、描画速度は速いことになります。

ModelData01.stlファイルの読み込み

ダウンロード

実行形式ファイルダウンロード (ModelViewerDirect3DWinAPI2008_07_exe.lzh)

ソースファイルダウンロード (ModelViewerDirect3DWinAPI2008_07_src.lzh)