为什么Roop运行时快时慢(版本1.1.0)

最早的🔗接触和介绍,而后的🔗讨论和加速,以及🔗同DFL/Simswap对比视频
然后🔗1.0.1新版本的变化——安装,运行参数等。
始终有个奇怪的问题,就是笔记本上Roop运行的速度,时快时慢,相差几十倍。

(一) 时快时慢

最开始以为是NSFW内容检查的锅,后来证明不是。

不管哪个版本都会时快时慢。
就算反复处理同一个视频,每次都可能速度差异巨大。
更加奇怪的是,只有笔记本(3060-6GB)上会出现这个现象。

在台式机(3060-12GB)上,无论什么视频。分辨率不同大小,均能稳定10fps以上。

直到1.1.0版本,作者在进度条中加入了显存占用情况。

Processing:   5%|██             | 17/369 [01:10<21:37,  3.69s/frame, memory_usage=06.24GB, 
execution_providers=['CUDAExecutionProvider'], execution_threads=8]

我才猜测是不是显存不够了?
多观察几次感觉到了规律,就是显存占用很大(为什么能大于显卡物理内存?)的时候,就可能特别慢。
比如上面的日志显示,慢到速度单位变成了spf(每帧都需要好几秒),且预测21分钟才能完成。

(二) 解决

再看看命令行参数,其中有个 --execution-threads EXECUTION_THREADS
意思并行的线程数,如果不指定它则默认=8

当我减小这个参数(我设为了4),正常情况下速度可能会慢一些。
但再也没有出现过非常慢,比如0.1fps的情况了。

Processing: 100%|██████████████| 369/369 [00:38<00:00,  9.62frame/s, memory_usage=03.70GB, 
execution_providers=['CUDAExecutionProvider'], execution_threads=4]

单位变成了正常fps,同样的视频只用了38秒完成。

(三) 分析

和笔记本都是3060,但台式机显存12GB够,所以从来没有这个情况。
明明显存不够却没有报OOM。是否意味着各个线程在抢,导致不停的分配释放显存,所以很慢?


嗯,除了不能用nvenc压缩视频,现在Roop已经很完美了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值