在VC2010上利用运行时程序性能分析工具对HM编码器进行性能分析,获取代码的关键路径,为后面对算法和代码进行优化提供参考。
参考程序版本为HM-10.1-dev,分析工具为VC2010集成代码性能分析工具,测试序列为BQSquare_416x240_60,配置文件为encoder_intra_main.cfg和BQSquare.cfg。
有人反映VC跑测试软件编码器非常慢,需要几个小时,我测试了一下是这样的,我使用上面的测试序列和配置文件,运行编码器耗时6236s。电脑配置为Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 八核处理器,3.39GHz, 3.40GB内存,WindowsXPSP3系统。这么小的一个视频编码耗时1.8小时,也太慢了,编码时电脑CUP占用率13%,说明代码有很多的优化潜力。后来看了下VC设置看能不能设置优化的,然后看到方案默认为Debug模式,其他优化选项好像是正常的,就将Debug改为Release模式,在编译运行上面同样的序列和配置,耗时630s,电脑CPU占用率还是13%,速度差不多快了10倍,确实是减少时间的方法,应该还是可以优化的。
下面继续VC2010进行程序性能分析。
电脑配置:
参数配置:
-c encoder_intra_main.cfg -c BQSquare.cfg 612x240x60
运行编码器: