gpt4 book ai didi

java - 如何提高效率?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:30 25 4
gpt4 key购买 nike

我正在创建一个 Asteroids 克隆,但有更多的花里胡哨。

截至目前,我有一个 ArrayList<Asteroid>将所有小行星都显示在屏幕上。每一个都有一个Vector与之关联并扩展我的通用 GameObject处理绘图和更新以及每个游戏对象共有的其他常见事物的类。

也就是说,每次我摧毁一颗小行星时,我都会创造一个新的 Asteroid对象并将其添加到 ArrayList<Asteroid> ...发生这种情况时会出现明显的滞后,因为我还创建了爆炸粒子,我认为这是 GC。

我的想法是,我可以预先创建一个对象池并重新使用它们,而不是即时创建新对象。

这是正确的想法吗?另外,最有组织、最有效的方法是什么?

任何其他想法也很好。只是试图减少所有这些对象的创建,因为它肯定会导致明显的滞后。谢谢!

最佳答案

创建对象池并重用它们是个好主意。此外,我认为您可以从 ArrayList 切换到 Vector,因为 Vectors 针对随机索引进行了优化,您在使用池时会经常这样做。

既然你说每次摧毁一颗小行星,你都会添加一个新的,看来你使用的小行星数量是恒定的。因此,您可以创建具有固定数量成员的池。

关于java - 如何提高效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com