完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我一直在使用DXIFRShim样本进行一些性能测量,我已经开始注意到垫片层似乎使用了大量的CPU。 一些背景优先。 这是我正在使用的: 系统规格 GRID K520 4 GB RAM VM中的Intel Xeon E3-2603 v3。 拥有2个CPU内核@ 1.6 GHz 软件 Capture SDK 5.0 Windows 8.1 64位 游戏是虚幻引擎的第一人称射击游戏模板(版本4.13) DXIFRShim样本 CPU测量以一种简单的方式完成:我使用任务管理器查看游戏过程的百分比。 这是我注意到的: 当游戏在没有垫片层(即原始.dll文件)的情况下运行时,CPU利用率%约为22%。 当游戏使用DXIFRShim运行时,CPU利用率%约为40%。 这几乎翻了一番。 考虑到Capture SDK的重点是要做更快的GPU编码而不是CPU编码,CPU利用率%几乎翻倍是相当奇怪的。 我继续发表评论来自NvIFREncoder.cpp的大量代码,并发现这一行是罪犯: NVIFRRESULT nr = pIFR-> NvIFRSetUpHWEncoder(& params); 留下这一行并在其后面注释掉所有内容(包括实际编码和写入视频文件)仍会导致高CPU利用率%。 在此行注释掉的那一刻,CPU利用率回到百分比,就像垫片层不在那里一样。 我发现这很奇怪,因为人们会期望大部分工作都在编码循环中,这将是包含“NvIFRTransferRenderTargetToHWEncoder();”的“while”循环。 我无法查看NvIFRSetUpHWEncoder本身的实现,所以我想知道:为什么CPU使用率相当高? 有没有办法避免或减少它仍然能够进行GPU编码? 谢谢! 以上来自于谷歌翻译 以下为原文 Hello, I have been doing some performance measurements using the DXIFRShim sample, and I have started to notice that the shim layer seems to use a huge amount of CPU. Some background first. Here is what I am using:
The CPU measurement is done in a simple way: I use task manager to look at the percentages given for the game process. Here is what I noticed:
Considering that the whole point of the Capture SDK is to do much faster GPU encoding instead of CPU encoding, having the CPU utilization % to almost double is rather strange. I went ahead to comment out huge chunks of code from NvIFREncoder.cpp, and found out that this line is the offender: NVIFRRESULT nr = pIFR->NvIFRSetUpHWEncoder(¶ms); Leaving this line in and commenting out everything after it (which includes the actual encoding and writing to video file) still results in high CPU utilization %. The moment this line is commented out, the CPU utilization goes back to the percentages as if the shim layer was not there. I found this rather strange since one would expect the majority of the work to be in the encoding loop, which would be the "while" loop containing "NvIFRTransferRenderTargetToHWEncoder();". I am not able to look at the implementation of NvIFRSetUpHWEncoder itself, so I am wondering: why is the CPU usage rather high? Is there a way to avoid or reduce it while still being able to do GPU encoding? Thanks! |
|
相关推荐
1个回答
|
|
嗨,
有关于此的任何见解? 或者没有办法解决这个问题,我不得不忍受它吗? 以上来自于谷歌翻译 以下为原文 Hi, Any insights about this? Or is there no way around this and I'll have to just live with it? |
|
|
|
只有小组成员才能发言,加入小组>>
使用Vsphere 6.5在Compute模式下使用2个M60卡遇到VM问题
3151 浏览 5 评论
是否有可能获得XenServer 7.1的GRID K2驱动程序?
3565 浏览 4 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 09:25 , Processed in 0.611183 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号