game と GC について
GCはゲームプログラミングにおいて使えない。
と言った話を聞くけれども。
それって、オブジェクトのライフサイクルの失敗なのでは?
たとえば、ゼルダの伝説 夢をみる島なゲームを作るとした場合
マップ全体をメモリアロケートする必要は無くなる
現在のマップと、その周りのマップのみ、メモリアロケートに時間がかかる場合は
一件先読みしておく
マップの移動が発生した際に、前回のマップのオブジェクトを削除
移動する度に、マップを一件先読み
主要なキャラクターの様なオブジェクトは、スタティックにアロケート
これだけで、GCの発生するオブジェクトをユーザーが参照している領域以外に
出来ると思う
こんな感じに単純なケースって、其処まで無いだろうけれど
責務の分割をキチンと行って、読み込むべきオブジェクト(メモリ)を
管理して上げれば、GCで困るコトって無いんじゃないかな?
結局、プログラミングって全てメモリの管理
データの管理に尽きるし
それが、現代的なプログラミングだと
直接的にメモリを管理しなくなったから
名前空間の管理
オブジェクトの管理
と言った形に、自然に考えやすい形になっただけで
結局、同じ
メモリを如何管理するかって責務は
プログラマからは無くなっていない
ただ、オブジェクトって形で考えられる
ロジックツリー等の考える手法が導入出来る
そこまでで、そっから先は今も昔も変わらないんだなぁ