回答編集履歴
2
C++では拡張for文でなく、範囲for文と呼ぶため修正
answer
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
Releaseビルドでは高速に処理されたため、少し調べ改造してみました。
|
11
11
|
|
12
|
-
・当たり判定とスクロール内のループを
|
12
|
+
・当たり判定とスクロール内のループを範囲for文に変更
|
13
13
|
・スクロール処理のエネミー周りのループ統合
|
14
14
|
・Stage::ColEnemyの無駄なコピーの削除
|
15
15
|
・Box_Collision::Intersectの関数呼び出しを1度ずつにしてローカル変数で処理するように変更
|
1
質問者の自己解決が解決になっていないため、追記
answer
CHANGED
@@ -2,4 +2,20 @@
|
|
2
2
|
当たり判定の処理を全要素対象に回しているなど非効率なので、その分処理に時間がかかっているように思えます。
|
3
3
|
(なので、Game_Scene::Update()の当たり判定を削れば早くなる)
|
4
4
|
|
5
|
-
あと、printf()でデバッグ目的であれば意味のない文字はやめたほうがいいとは思います。
|
5
|
+
あと、printf()でデバッグ目的であれば意味のない文字はやめたほうがいいとは思います。
|
6
|
+
|
7
|
+
---
|
8
|
+
質問者の自己解決が解決になっていないため、追記
|
9
|
+
|
10
|
+
Releaseビルドでは高速に処理されたため、少し調べ改造してみました。
|
11
|
+
|
12
|
+
・当たり判定とスクロール内のループを拡張for文に変更
|
13
|
+
・スクロール処理のエネミー周りのループ統合
|
14
|
+
・Stage::ColEnemyの無駄なコピーの削除
|
15
|
+
・Box_Collision::Intersectの関数呼び出しを1度ずつにしてローカル変数で処理するように変更
|
16
|
+
・ColEnemy、ColEnemy_Bullet、ColPlayer、ColEnemy_Bulletを統合してループ数の削減
|
17
|
+
|
18
|
+
パッと見える範囲で直してみただけでもかなり改善しますね。
|
19
|
+
まだまだ無駄なコピーや関数呼び出しが多いので、減らすだけでも改善できそうですね。
|
20
|
+
|
21
|
+
ただ、Releaseビルドで高速に動作するのだから動きはそっちで確認すればいいと思いますが。
|