このチャプターの目次
Siv3D の機能をフル活用して、生産的で間違いが少なく、実行時性能に優れたプログラムを書くためのガイドラインです。
1. 一般的なコーディング
標準ライブラリよりも Siv3D の機能を優先しよう
不必要な C++ 標準ライブラリはインクルードしないようにしよう
Siv3D の提供する数学定数を使おう
コンパイラの警告に敏感になろう
フレームレートに依存する処理を作らないようにしよう
読み込みたいファイルを配置するディレクトリを理解しよう
2. アセットを扱う
アセットはポインタで管理する必要が無いことを理解しよう
アセットをグローバル変数で扱わないようにしよう
アセットを static 変数で扱わないようにしよう
TextureDesc::Mipped
を指定しよう
縮小表示する画像ファイルは 3. 実行時性能
配列や文字列、アセットを関数に渡すときは const 参照渡しを使おう
メインループ内で重いオブジェクトを作成しないようにしよう
Siv3D の関数の呼び出し回数を抑えよう
Image
の使用を検討しよう
グリッド上に並ぶ大量の点や正方形を描く場合、内部の Draw コールの回数を抑えよう
4. 開発生産性
再ビルドしなくても良い開発手法を知ろう
- IDE の機能
- 最新の Visual Studio では、ホットリロード機能(Visual Studio メニューの 🔥 ボタン)を使うことで、条件を満たす場合、プログラムを再起動することなく数値の変更やコードの追加を実行中のプログラムに反映できます。デフォルトの設定では、Debug ビルトのときに有効です。図形の追加や描画位置の変更、色の変更などの調整作業が捗ります
- 詳細 → テクニック | 開発生産性の向上
- スクリプト機能
- スクリプト機能は、3D 関連などいくつかの機能が未実装ですが、C++ に近い文法でプログラムを記述し、実行時にロードすることができます
-
ManagedScript
を使うと、スクリプトのホットリロード機能を簡単に使えます
- 設定ファイルの活用
- 調整の多い数値を JSON や INI ファイルに保存し、実行時に読み込むことで、再ビルドのコストを抑制できます