回答編集履歴
1
リソースとヒープの話を一緒にしてしまってたので訂正
answer
CHANGED
@@ -2,11 +2,13 @@
|
|
2
2
|
何でもかんでもスマートポインタにしとこう、というのはちょっとマズイかもしれません。
|
3
3
|
|
4
4
|
MMORPGやオープンワールドゲームのように、必要になるリソースをしぼれない
|
5
|
-
(ワールドマップで遊んでいる最中にVRAMにロードしてないテクスチャが必要になるなど)場合は仕方ないですが、
|
5
|
+
(ワールドマップで遊んでいる最中にVRAMにロードしてないテクスチャが必要になる、新しいキャラクタが現れるなど)場合は仕方ないですが、
|
6
6
|
基本的にゲームはプレイ中に画面がガクつかない方がいいですよね。
|
7
|
+
なので基本的にプレイ中のヒープ確保は厳禁です。キャラクタクラス等はロード終了前に全て確保されているべきです。
|
8
|
+
|
7
|
-
|
9
|
+
同時に、テクスチャ等のGPUリソースも所有権を曖昧にせず、リソースを管理するクラスに一元管理させて
|
8
10
|
ロード画面のときに必要なものを全て読み、VRAMの空きに応じて不要なものを破棄すべきです。
|
9
|
-
|
11
|
+
あとリソースとゲーム内の概念のクラス(キャラクタ等)は分離してますでしょうか?
|
10
12
|
一般的には、リソースとキャラクタ等は癒着させない方がいいです。
|
11
13
|
|
12
14
|
決してスマートポインタを使うなという話ではないのですが、その辺の事情を加えれば、ご自身の開発に適したスマートポインタの種類、あるいは管理方法が浮かんでくるのではないでしょうか。
|