I am using NVENC to encode H.265 video frames. I am feeding it frames sequentially - and what I care about is ultra low latency encode (<6ms if possible), at a specific frame rate. I am generating the frames on the fly so I can't feed it any faster.
我正在使用NVENC对H.265视频帧进行编码。我是按顺序给它输入帧的--我关心的是超低延迟编码(如果可能的话,小于6ms),以特定的帧速率。我是在运行中生成帧的,所以我不能更快地给它喂食。
If the frame rate is high, then everything behaves as expected and the latency (total encode time) for the frames is very low. I.e. if I submit frames at 120FPS, my encode time is roughly 6ms. However, if I submit frames much more slowly, for instance 45 FPS, then the latency on my encode balloons to 15+ milliseconds.
如果帧速率很高,则一切都按预期进行,并且帧的延迟(总编码时间)非常低。也就是说,如果我以120FPS的速度提交帧,我的编码时间大约是6ms。然而,如果我提交帧的速度慢得多,例如45FPS,那么我的编码延迟就会膨胀到15毫秒以上。
What would be going on that would cause the latency of frames on NVENC to be reduced?
会发生什么情况会导致NVENC上的帧延迟缩短?
Why would submitting frames in rapid success cause reduction in latency?
为什么快速成功提交帧会导致延迟减少?
I have often been suspicious that this could have to do with some sort of clock throttling on NVIDIA GPUs, as I had seen different behavior when using MSI Afterburner.
我经常怀疑这可能与NVIDIA图形处理器上的某种时钟节流有关,因为我在使用MSI Afterburner时看到了不同的行为。
更多回答
优秀答案推荐
I am generating the frames on the fly
These systems have DCVS algorithms that modifies voltages based on current load dynamically. Higher rate input generation may trigger higher bandwidth voting. The same vote may result in encoder running at higher clock, too.
这些系统具有DCVS算法,可以根据当前负载动态修改电压。更高速率的输入生成可能会触发更高的带宽投票。同样的投票也可能导致编码器以更高的时钟运行。
Besides, your suspicion may actually be the reason. Try multiple input frame-rate and you may be able to find the threshold where clock rate is boosted. Higher input (queue) frame rate, generally, corresponds to non-real time video encoding and clock boost for such use-cases isn't uncommon.
此外,你的怀疑可能才是真正的原因。尝试多个输入帧速率,您也许能够找到时钟频率提升的阈值。较高的输入(队列)帧速率通常对应于非实时视频编码,这种情况下的时钟提升并不少见。
Of course, I'm assuming both experiments are performed under similar conditions for similar resolutions.
当然,我假设这两个实验都是在相似的条件下进行的,分辨率相似。
更多回答
我是一名优秀的程序员,十分优秀!