【DirectX11】DirectXテンプレートで生成されるメソッドの実行順について

【DirectX11】DirectXテンプレートで生成されるメソッドの実行順について

目次

はじめに

この記事では、DirectX DRテンプレートを使ってプロジェクトを作成したときに、実装されているメソッドがどのタイミングで実行されるのかを調べた結果をまとめます。

また、対象はGame.hppに定義されているメソッドです。
これらのメソッドは、基本的にMain.cppで呼び出されています。

実装メソッドについて

Game.hppに定義されているメソッドは一般的なアプリケーション(ゲーム)のライフサイクルに処理を実装できるように設計されています。

実行時に順次実行されるものと、ユーザーやシステムからのイベントを受けたときだけ実行するものの2種類のメソッドがあります。

以下が、メソッドの実行順を図にしたものです。

イベントはループには入らないので、図には入れていません。

順次実行 + ループ

3から3.2.1までのメソッドは毎フレーム実行されます。

メソッド名 実行順 解説
Initialize 1 アプリケーションのスタート時に一度だけ実行
CreateDeviceDependentResources 1.1 Initialize の中、またはデバイスが初めて作成された時に実行
CreateWindowSizeDependentResources 2 ウィンドウサイズに依存するリソースを初期化する際に実行
Tick 3 毎フレーム実行
Update 3.1 Tick の中で実行され、ゲームの状態を更新
Render 3.2 Tick の中で実行され、画面を描画
Clear 3.2.1 Render の中で実行され、画面をクリア

メッセージハンドラメソッド

これらのメソッドは、ユーザーやシステムからのイベント(メッセージ)に反応して実行されるメソッドです。

メソッド名 解説 メッセージ
OnActivated アプリケーションがアクティブになったとき(ウィンドウがフォーカスを得たとき) WM_ACTIVATEAPP
OnDeactivated アプリケーションが非アクティブになったとき(ウィンドウがフォーカスを失ったとき) WM_ACTIVATEAPP
OnSuspending システムがスリープ状態に入るか、アプリケーションが最小化されたとき WM_SIZE
WM_POWERBROADCAST
OnResuming システムがスリープ状態から復帰するか、アプリケーションが最小化から復帰したとき WM_SIZE
WM_POWERBROADCAST
OnWindowMoved ウィンドウが移動されたとき WM_MOVE
OnDisplayChange ディスプレイの解像度や設定が変更されたとき WM_DISPLAYCHANGE
OnWindowSizeChanged ウィンドウのサイズが変更されたとき WM_SIZE

【DirectX11】DirectXテンプレートで生成されるメソッドの実行順について

https://daiki-iijima.github.io/2026/01/02/【DirectX11】DirectXテンプレートで生成されるメソッドの実行順について/

Author

Daiki Iijima

Posted on

2026-01-02

Updated on

2025-12-31

Licensed under