c++ - Windows Phone 8 上的 DirectX - 上下文/设备在最小化时丢失

标签 c++ xaml c++11 directx windows-phone

我将 XAML/C# + C++ 应用程序与 DrawingSurfaceBackgroundGrid 一起用于 DirectX11 作为互操作。

使用 DrawingSurfaceBackgroundGrid 时似乎 Connect()Disconnect() 在应用暂停到后台时立即被调用。

Disconnect() 被调用时,DX 上下文和设备丢失。这导致我不得不重新加载所有纹理。声音和音乐不会被删除,而是会恢复。

我已经尝试了几个 DrawingSurfaceBackgroundGrid,它们似乎都有同样的问题。

使用 native 代码时不会发生这种情况。我想知道是否有任何方法可以在使用 XAML 时处理应用程序的暂停/恢复,而不是在最小化应用程序时使用 Disconnect()

最佳答案

我也没有找到任何东西,但微软似乎强制我们重新创建着色器/纹理等以保留其他应用程序的内存。如果你考虑一下,那不是一个糟糕的情况!这只是一个无聊的代码行为,就是这样...... DrawingSurfaceBackgroundGrid 充满了惊喜!

关于c++ - Windows Phone 8 上的 DirectX - 上下文/设备在最小化时丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914328/

相关文章:

c++ - 合法使用 initializer_list 来初始化具有派生类型的对象吗?

c++ - cudaMemcpyFromSymbol和cudaMemcpyToSymbol始终返回cudaErrorInvalidSymbol(13)错误

C++ 单独的实现和头文件

c++ - 为什么整数比较比字符串比较快?

wpf - DataTrigger.ExistActions 未针对绑定(bind)值 "null"触发

c++ - 如何为模板类实现 std::hash

c++ - C 与 C++ 为什么这个宏不扩展为常量?

wpf - 使用 ItemTemplate 在 ListBoxItems 构建上添加事件

xaml - 在 xaml 中将局部 int 变量的值设置为 Int.MaxValue

c++ - 怎么会?特征中未检测到别名