标签:orm comm 渲染 lock color handle 图片 tmp ptr
废话不多说,先说结论,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渲染模式比较
标签:orm comm 渲染 lock color handle 图片 tmp ptr
原文地址:https://www.cnblogs.com/daniulivesdk/p/13170102.html