gpt4 book ai didi

ios - 我是否应该通过编程将计算量大的任务放在 IOS 上的单独线程上以利用多核?

转载 作者:行者123 更新时间:2023-11-29 12:06:19 25 4
gpt4 key购买 nike

我正在和我的团队在 IOS 上制作一个实时图像处理应用程序。我正在处理自定义计算内核(主要在 CPU 而不是 GPU 上),我的队友处理 GUI。当我在玩具应用程序上测试我的内核时,内核(忽略任何 IO 开销)以每张图像 100 毫秒的速度稳定运行。然而,当放入全功能的时,它会减慢到每张图像 500 毫秒。

我已经检查过数据几乎是一样的,我只是在同一台 iphone6 上测量内核消耗的时间。在功能齐全的应用程序中几乎没有任何其他计算,所以我不确定是什么落后了。尽管 GPU 处理绝对是一种替代方案并且我正在研究它,但我想知道现在是否有任何技巧可以使用。

目前,计算部分没有明确的多线程,所以我的简单猜测是:我是否应该通过编程将计算部分放在一个单独的线程上,以便可以利用第二个核心?

[更新]

事实证明,我在将代码打包为库时犯了一些错误,因为复制源代码效果很好。我还没有弄清楚我的问题,我将把它发布在 separate question 上.

最佳答案

GPU Acceleration

这在很大程度上取决于您正在执行的任务,GPU 是特定任务的一个很好的子集,简单地使用它有时甚至会减慢速度。 Check this out

作为 Quartz 框架 e.t.c 一部分的许多基于图像的任务都是 GPU 加速的(比如模糊)。此外,如果您使用像 OpenCV 这样的库,您可以在某些任务上开箱即用地获得 GPU 加速。

除非您是真正的专业人士,否则我会避免专门使用 GPU,而让您使用的框架和库为您完成。

Concurrency

将密集型任务放在后台线程中肯定会有所帮助。请注意它的含义(即您不能从后台线程进行任何 UIKit 调用。

关于ios - 我是否应该通过编程将计算量大的任务放在 IOS 上的单独线程上以利用多核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34872622/

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