gpt4 book ai didi

c++ - 游戏中的多态性

转载 作者:行者123 更新时间:2023-11-30 02:43:10 26 4
gpt4 key购买 nike

我正在用 C++ 制作游戏,我正在考虑是否使用多态性。我知道在大多数情况下使用多态性更好,但问题是我在游戏中制作了一些粒子效果并且一秒钟内弹出了数百个。如果我在这种情况下使用多态性,我将频繁分配和释放内存,这肯定会减慢游戏速度。

那么,即使不得不频繁新建/删除对象,我是否应该使用多态性?

顺便说一句,如果我的语法错误,请纠正我。我还在学习英语。

最佳答案

如果您不使用多态性,您仍然需要相同数量的新建/删除来创建所有粒子。多态性不会显着降低您的性能。它只会导致一些间接函数调用,而不是直接调用。这是几乎所有现代 CPU 的指令集都支持的东西。

因此,如果多态性很好地解决了您的游戏设计问题,那就去做吧。

回到创建/删除许多类似对象(如粒子)的最初问题,您可以考虑使用 flyweight设计模式,它“使用共享有效地支持大量细粒度对象”(设计模式,Gamma 等)

关于c++ - 游戏中的多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375497/

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