基本理论
流送优化指南 | 虚幻引擎5.2文档 (unrealengine.com)
UE4像素流(Pixel Streaming)应用场景 - 知乎 (zhihu.com)
专有GPU内存
理论
专有内存就是GPU自己用的,不会分给其它应用,而共享内存就是所有应用都可以使用,但是GPU优先使用
实践
像素流使用过程中,发现每一路像素流都会占用6G的专有内存,RT3060显卡在开启第三路像素流推送的时候,第三路浏览操作明显开始卡顿,不流畅,前面两路操作正常。此时第三路像素流占用的应该是共享内存
Video Encode
由于像素流需要进行GPU硬件编码,像素流推送第三路的时候,会出现GPU编码能力不足的问题,编码使用率达到100%,通过降低编码的复杂度,设置
-PixelStreamingEncoderMaxQP=10,降低了编码的使用率
Cuda
GPU渲染运算的逻辑单元
1 No compatible GPU found, or failed to load their respective encoder libraries
网上说法
GPU不支持NVENC或AMF。
主要原因两个:网络异常丢包,还有情况CPU卡住了或者会话重启后关卡资源正在渲染未能实时推送到客户端播放器
也或者是A卡没有N卡好使
支持的图形硬件
要运行带有像素流插件的虚幻引擎应用程序,计算机必须具有以下类型的图形硬件之一:
支持硬件加速视频编码(NVENC)的NVIDIA GPU硬件。请参阅NVIDIA的支持设备对照表。
支持高级媒体框架(AMF)的AMD GPU硬件。
个人观点
GPU性能不足,因为前面已经成功启动两路像素流,启动第三路实例的时候提示出错
解决方案
通过降低编码的复杂度解决该问题,启动命令添加-PixelStreamingEncoderMaxQP=10(阀值是0到51,值越高编码复杂度越大)
D:\PixelStreaming\Windows\ZhongHuaHuaFei.exe -AuditMixer -forceres -ResX=1920 -ResY=1080 -PixelStreamingIp=localhost -PixelStreamingPort=8900 -RenderOffScreen -PixelStreamingEncoderMaxQP=10