gpt4 book ai didi

c# - 如何使用 Win2D 模拟 DeviceLost 事件?

转载 作者:太空狗 更新时间:2023-10-30 00:30:31 26 4
gpt4 key购买 nike

我在 UWP 应用程序中有一个 CanvasControl,我注意到当我离开我的 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 版本是 Graphics Tools for Windows 10 包的一部分,适用于 Win10 内部版本 10586 或更高版本: 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.

关于c# - 如何使用 Win2D 模拟 DeviceLost 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com