Ios Swift:绘制矩形的最快方法
我正在制作一个几乎完全由纯色矩形组成的游戏。目前,我正在为其中的所有矩形使用SKSpriteNodes,因为它们需要动画和触摸,但在创建数百个矩形时,我发现它们会造成很多延迟 我所需要的是一个长方形,我可以用纯色绘制,没有纹理或任何东西,但由于某些原因,这些会导致很多延迟Ios Swift:绘制矩形的最快方法,ios,swift,skspritenode,Ios,Swift,Skspritenode,我正在制作一个几乎完全由纯色矩形组成的游戏。目前,我正在为其中的所有矩形使用SKSpriteNodes,因为它们需要动画和触摸,但在创建数百个矩形时,我发现它们会造成很多延迟 我所需要的是一个长方形,我可以用纯色绘制,没有纹理或任何东西,但由于某些原因,这些会导致很多延迟 如果可能的话,我想避免使用OpenGL,因为我以前尝试过它,而且做一件事花了我几个月的时间。我只是觉得一定有一条我找不到的捷径。任何帮助都将不胜感激 皮肤的简单性(即只是一个矩形而不是更复杂的图像)不太可能是性能问题的原因。想
如果可能的话,我想避免使用OpenGL,因为我以前尝试过它,而且做一件事花了我几个月的时间。我只是觉得一定有一条我找不到的捷径。任何帮助都将不胜感激 皮肤的简单性(即只是一个矩形而不是更复杂的图像)不太可能是性能问题的原因。想想经验吧。从仪器开始。这就是你找到瓶颈所在的方法。在这些比例(100秒)下,几乎总是一个O(n^2)算法潜入到您的系统中,而不是绘图行为。您做了什么样的分析来确定滞后的来源?是什么让你相信是时候画矩形了?从仪器开始,在你尝试转换技术之前,确保你知道你的时间在哪里。更常见的问题是实体之间的布局或O(n^2)交互,而不是绘图。几百个矩形并没有那么多。@RobNapier唯一让我想到这一点的原因是,到目前为止,我还没有发现任何帖子真正使用SKSpriteNodes来绘制矩形。我只是觉得我应该做得更快一些,因为我的整个游戏都是基于矩形的。你皮肤的简单性(即只是一个矩形而不是一个更复杂的图像)不太可能是你性能问题的原因。考虑一下这样的体验:激活10K粒子:从仪器开始。这就是你找到瓶颈所在的方法。在这些比例(100)下,几乎总是一个O(n^2)算法潜入到你的系统中,而不是画画的行为。@RobNapier你能把这个作为一个答案,让我接受吗?