能用D3D要啥自行车?Windows平台播放RTSP或RTMP渲染模式比较
Posted daniulivesdk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了能用D3D要啥自行车?Windows平台播放RTSP或RTMP渲染模式比较相关的知识,希望对你有一定的参考价值。
废话不多说,先说结论,Windows平台播放渲染这块,支持D3D的前提下,优先D3D,如果检测到不支持D3D,数据回调上来,GDI模式绘制。
相比GDI模式,D3D绘制更细腻,绘制效率更高,CPU占用低,只要是系统检测支持,一般建议D3D模式。
无图无真相:
本文以1920*1080分辨率、30帧、固定码率(采集屏幕左侧区域)为例,通过大牛直播SDK ( github) 的Windows平台SmartPublisherDemo.exe工具推送到内网nginx服务器,然后分别以D3D模式和GDI模式拉流(播放端缓冲设置为0)。
可以看到:
D3D模式,CPU占用只有2.7%,延迟:249-156 = 93ms;
GDI模式,CPU占用19.5%,延迟249-73 = 176ms。
无论是从延迟和CPU占用上看,D3D模式都占优。
实现思路:
以C#的demo为例:
1. 先检测系统是否支持D3D模式:
2. 如不支持D3D,数据回到上层,做绘制:
具体绘制代码:
目前来看,不支持D3D的机器少之又少,在环境具备的情况下,优先建议考虑D3D模式绘制,感兴趣的开发者可以尝试看看。
以上是关于能用D3D要啥自行车?Windows平台播放RTSP或RTMP渲染模式比较的主要内容,如果未能解决你的问题,请参考以下文章
Windows平台设计RTSP播放器/RTMP播放器需要考虑的几个方面
H265播放器EasyPlayer-RTSP WIN版播放器D3D和GDI两种渲染模式效果比较