あられ、スタック!
複雑なタイプ(オブジェクトとスプライトの拡張)のリスト(ベクトル、配列、辞書など、より高速なもの)内のアイテムを見つけるための最良の方法を知る必要があります。
「NeedleinHaystack」方式を使用しましたが、十分な速度ではないようです。
たとえば、スプライトのコレクション(実際にはプール)があるとします。
各スプライトはステージに追加され、いくつかのアクションを実行します。その後、それは死ぬでしょう。
私はそれを処分する(ガベージコレクション)と毎回別の(新しい)ものを作成するためのコストを払いたくないので、死んだスプライトをコレクションに保持します。
時々、ステージにスプライトを追加するメソッドを呼び出すことがあります。
このスプライトは、すでに死んでいる場合は古いスプライトにすることができ、プールに空きスプライトがない場合は新しいスプライトにすることができます。
この質問に私を駆り立てたシナリオの1つは、パーティクルシステムでした。
フレームごとにパーティクルの「トレイル」を残し、派手な多数のパーティクルに爆発する「ヘッド」パーティクル...すべてのフレーム...
モーション、回転、アルファ、イベントディスパッチ、スケールなどで最大50.000 PNGをカウントすることもあります
が、これは1つのシナリオです...
現時点では、リンクリスト付きのオブジェクトプールを使用しようとしています...
配列/ベクトル全体を実行したり、フレームごとに新しいインスタンスを作成してガベージコレクションで染色したりするよりも高速になることを願っています。
誰かがそれを行うためのより良い/より速い方法を知っていますか?