gpt4 book ai didi

ios - CGPathContainsPoint() 硬件加速了吗?

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

我正在做一个 iOS 游戏,想用这种方法进行碰撞检测。

由于有很多(50+)点可以检查每一帧,我想知道这种方法是否可以在 iDevice 的图形硬件上运行。

最佳答案

跟进@DavidRönnqvist 的观点:“硬件加速”与否并不重要。重要的是它是否足够快以达到您的目的,然后您可以使用 Instruments 检查吃东西的时间并尝试改进。

将代码移至 GPU 不会自动使其更快;实际上,它会使速度变慢,因为您必须将所有数据都拖到 GPU 内存中,这很昂贵。理想情况下,要在 GPU 上运行,您希望一次移动所有数据,然后执行大量昂贵的矢量操作,然后将数据移回(或只是将其放在屏幕上)。如果您不能使问题看起来像那样,那么 GPU 就不是合适的工具。

它可能是 NEON 加速的,但这又是无关紧要的;编译器 NEON 加速了很多事情(并且在 NEON 上运行并不总是意味着它运行得更快,要么)。也就是说,如果您可以针对相同的曲线测试大量点(数百或数千),我敢打赌这种问题在 NEON 上运行得最好。

您应该假定 CGPathContainsPoint() 的编写速度对于“我有一个随机曲线和一个随机点”的一般情况非常快。如果你的问题看起来像那样,你似乎不太可能在他们自己的硬件上击败 Apple 工程师(50 分并不比 1 分多多少分)。例如,我假设他们已经在为您检查边界框并且您的重新检查是在浪费时间(但我会对其进行概要分析以确保)。

但是,如果您可以将问题更改为其他问题,例如“我有一条已知曲线和数万个点”,那么您可能可以手动编写更好的解决方案,并且应该查看 Accelerate 甚至手写 NEON攻击它。

先分析,再优化。即使您的问题是“数学”,也不要假设“矢量处理器”完全等同于“快速”。图形处理器更是如此。

关于ios - CGPathContainsPoint() 硬件加速了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482014/

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