在列表中找到复杂类型的最快方法(向量,数组,字典,等等)
|
冰雹,堆栈!
我需要知道在复杂类型(对象和子对象的扩展名)的列表(向量,数组,字典,等等,更快的东西)中找到项的最佳方法。
我曾经使用过“干草堆中的针”方法,但似乎速度不够快。
例如。
假设我有一个Sprites集合(实际上是一个池)。
每个精灵都会添加到舞台上并执行一些操作。之后,它将死亡。
我不想支付处理(垃圾收集)并每次创建另一个(新)的费用,因此我将死掉的精灵保留在一个集合中。
有时我会调用将在舞台上添加精灵的方法。
如果该精灵已经失效,它可以是旧的,如果池中没有可用的精灵,则可以是新的。
将我引向这个问题的场景之一是粒子系统。
一个“头部”粒子在每帧中留下一个“轨迹”粒子,并爆炸成大量的浮华粒子...每帧...
有时,通过运动,旋转,alpha,事件调度,缩放等,最多可计算50.000个PNG。
但是,这只是一个场景...
目前,我正在尝试使用带有链接列表的对象池...
希望运行整个阵列/向量或在每个帧创建新实例更快,并让它们使用垃圾回收进行染色。
有人知道更好/更快的方法吗?
没有找到相关结果
已邀请:
6 个回复
骂狮淋唐便
佬棠
干杯!
剿畦缄饥小
您可以做的最快的事情就是直接访问。如果使用对象或字典,则可以使用对象或唯一ID作为键,这使您可以直接访问。但这对您在列表中需要对象位置没有帮助。例如:
磐乓铝举
(如果没有该对象的条目,则为null) 虽然如果您可以进一步指定它是什么,则需要查找,但我可能可以对此提供进一步的应用
财沟项胶
倪蕊悲潍