Yoshiya@kt3k・Aug 24, 2024, 4:48 AM

bw、アセットの GC を考えた時に、自分で GC を実装するのは不毛なので、言語自体に GC させたいため、AssetManager がアセットの管理をするのではなくて、アセットを使うクラス自体に自分で自分のアセットを管理させる仕組みに変えた。

https://github.com/kt3k/bw/commit/773db5ef68ff4c09f64430543517f79b3743bb7a

この実装にしたことで、使っているアセットをメモリ解放したい場合は、その親のクラス自体を破棄すれば使ってるアセットも自動的に破棄される。あとは LoadScope の範囲パラメーターの調整で運用できる範囲をうまく見つければ良い