您的位置:首页 > 其它

关于directshow播放器使用vmr9 renderless情况下创建设备的问题

2013-02-22 11:29 381 查看
由于电影的帧率等特性,对于播放器最优的播放策略不应该是总是60hz,故在此状况下我们创建显示设备要指定分辨率和刷新率,在这个过程中实际上d3d CreateDevice实际调用了windows API来实现显示设备的改变 ChangeDisplaySettingsExW, 但潜在有莫名奇妙的问题,或许是我的bug,也或许是ms的bug,即在我的应用里面必须在同步处理WM_DISPLAYCHANGE消息时候必须sleep一定的时间,否则在PresentImage图像的时候会出现 设备丢失错误,原因不明。

为了规避这个错误,我们将 一些工作从D3D移到外面解决,即先初始化环境直接调用ChangeDisplaySettingsExW,而不是由CreateDevice来调用,问题解决,但具体为什么不行,由于黑盒子无法确认,google一下,发现很多人面临同样的尴尬。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐