我正在开发一个图形设计、矢量绘图应用程序,当有变化时,它需要在每一帧中渲染数据。问题是,如果用户正在移动节点,那么每一帧都会发生变化。这不是少量数据的问题,而是当数据量超过少量数据时会严重减速。
原因是为了渲染,我执行计算并将数据存储在数组中。然后当负责计算的函数完成时,GC 会简单地丢弃数据,下次调用该函数时,我们会创建新数组和新数据。
在 C++ 中,我可能会在内存中分配空间并写入该空间(一遍又一遍)。我可能会以这种方式提高性能。在我们 GC 的语言中,我不能那样分配空间。我必须做一个丑陋的 hack,我将一个数组定义为一个类成员,然后一遍又一遍地从函数写入该数组,尽管该数组仅用于该一个函数并且不被该类的其他方法使用。
我的问题是,在使用 GC 的语言中重用内存空间的最佳方法是什么?