0

我正在做一个项目,我需要一个一个地处理视频并运行我的算法来从中提取分数。问题是视频处理时间过长。我尝试在少数地方使用 parfor 并行化代码,但性能仍然很差。我怎样才能提高性能?有没有办法缓存帧?我正在阅读每一帧并处理它。欢迎任何建议。

4

2 回答 2

1

缓存当然是一种选择,但它可能无济于事。如果你不知道什么是慢的,那么加速代码是非常困难的。使用Matlab 的分析器找到速度较慢的部分,然后加快这些部分的速度。之后,再次配置文件以查看您的更改产生了什么影响。

以下是使用分析器的基本方法:

profile on
% call your function here
profile off
profile report
于 2013-02-15T13:54:02.827 回答
1

首先,您是否确保您的代码支持并行,并且您已经运行 matlabpool 来打开 CPU 并行计算

第二,也许你需要优化你的代码

第三,你可以试试GPU并行计算

于 2013-02-15T13:58:59.033 回答