这是我的问题...... 有一种方法可以检查应用程序何时在DXGI(DX10 / 11)中全屏显示。 对于全屏我意味着系统已完成模式更改。 因为我需要它为我的应用程序,以防止死锁和调整时间。 (我有一个多线程引擎,而现在不在消息泵线程上导致模式更改随机死锁)) 实际上我让它等待1秒继续处理消息泵线程上的消息并且它可以正常工作,但我想要更多的DETERMINISTIC告诉我“嘿,模式更改已完成,您现在处于全屏模式”。 :D
有什么想法吗?
答案 0 :(得分:1)
有什么理由不能将渲染和消息泵线程作为同一个线程运行吗?
根据文档,没有任何内容可以告诉您更改已完成。
但奇怪的是,DXGI依赖于从内部SendMessage调用获取响应(通过多线程环境中的消息泵发生)。所以我没有看到你的消息泵如何延迟解决问题。它所要做的就是让DXGI再等一会儿再继续做它的东西。死锁通常意味着你正在做一些导致消息泵阻塞等待渲染线程做某事的事情。