![]() |
1
2
下面的代码相当于原始帖子中的OpenCV调用,但执行速度要快几倍(至少在我的设备上)。 使用Neon确实显著提高了性能。由于换位发生在CPU内部,内存访问可以简化为以四个像素为一组来读取和写入像素,而不是像评论中所讨论的那样一次一个像素。
|
![]() |
2
0
霓虹灯不会有很大帮助
笔记
。您的代码只是移动数据;霓虹灯不能使底层内存的速度显著提高。看见
this article
; 使用PLD也会有帮助。我建议你处理
这里是遍历内存的另一种形式(变量名称可能没有意义),
这个想法是填补
完成此操作后,NEON指令可能会获得一定百分比。但是,优化加载/存储单元(所有CPU单元共用)应该是第一步。 注释 :Neon是SIMD(单指令,多数据),它擅长对像素进行数字运算,通过一次处理几个像素来提高计算能力。它确实有一些优化内存遍历的指令,但底层内存对于CORE CPU单元和SIMD/NEON单元是相同的。NEON可能会起到提振作用,但我认为在优化内存系统的访问顺序之前,这是徒劳的。 |