我有一个CanvasControl
在 UWP 应用程序中,我注意到当我将 Surface 单独放置一段时间并且它会自动进入睡眠状态时,CanvasControl
恢复后不再起作用。之前绘制的位图现在是空白的。
我尝试在 Visual Studio 2015 中模拟挂起/恢复,但这似乎不会导致问题。它恢复得很好。
我有一种感觉,这与CanvasDevice.DeviceLost
事件,尽管我用CanvasControl.CreateResources
事件,我找不到一种方法来轻松测试它。
我尝试了以下方法:
// This throws an exception. Not allowed to do this.
myCanvas.Device.RaiseDeviceLost();
// and this doesn't report a device lost, but myCanvas becomes unusable.
myCanvas.Device.Dispose();
有没有一种方法可以以编程方式调用CanvasDevice.DeviceLost
事件?我怎样才能伪造它?
无法使用 API 触发设备丢失事件,但您可以使用一个命令行工具:
DXCap.exe -forcetdr
您需要的 DXCap 版本是 Windows 10 图形工具包的一部分,适用于 Win10 build 10586 或更高版本:https://msdn.microsoft.com/en-us/library/mt125501.aspx#InstallGraphicsTools https://msdn.microsoft.com/en-us/library/mt125501.aspx#InstallGraphicsTools
安装VSGD后,您可以在windows\system32目录中找到DXCap。
不幸的是,这个选项似乎还没有记录,但来自命令行:
-forcetdr Don't capture or replay, but simply force a GPU Timeout
Detection and Recovery event, then exit.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)