当我的Windows混合现实谷歌进入睡眠状态时,OpenXR会改变退出状态



我正在使用Windows Mixed Reality OpenXR插件/插件在Windows上使用OpenXR编写应用程序。当我的应用程序运行并且VR设备进入睡眠状态时,我会得到一个状态更改以退出OpenXR应用程序。根据OpenXR的生命周期,没有回头路(我正确地退出了我的应用程序(。我可以唤醒混合现实门户中的眼镜。即使我忽略了应用程序中的退出状态更改并保持其运行,在唤醒眼镜后,我在OpenXR应用程序中也不会收到任何状态更改事件。这是正确的行为吗?我认为我需要在应用程序中正确处理入睡(例如,暂停应用程序并继续唤醒设备(。我还缺少什么吗?

以下是我记录的状态变化(刚刚启动应用程序并等待VR设备进入睡眠状态(:

- XR_SESSION_STATE_IDLE
- XR_SESSION_STATE_READY
- XR_SESSION_STATE_SYNCHRONIZED
- XR_SESSION_STATE_VISIBLE
- XR_SESSION_STATE_SYNCHRONIZED
- XR_SESSION_STATE_STOPPING
- XR_SESSION_STATE_IDLE
- XR_SESSION_STATE_EXITING

所以实际的问题是:当使用OpenXRWindows Mixed Reality时,我如何正确处理VR设备进入睡眠状态?

感谢任何提示:(

感谢您的评论和更新。对于行为,这对于关闭前发送的XR_SESSION_STATE_EXITING是正确的。OpenXR规范中没有恢复状态或挂起状态:

https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSessionState.html

XR_SESSION_STATE_exitting。

"应用程序应该结束其XR体验,而不是自动重新启动它;

因此,如果您确实要为应用程序执行任何清理,则可以在接收XR_SESSION_STATE_STOPPING 时执行该操作

重新启动后,您应该再次获得标准的XR_SESSION_STATE_READY通知,以执行任何特定于应用程序的启动。这可能是从存储、web服务等读取状态。有一个问题在简历和呈现中得到了修复,但正如评论中所指出的,已经修复

正如您所说,您在设备上安装的OpenXR开发工具版本为107.2106.1002.0。我们注意到在稍后的版本中有稳定性的改进。请参阅适用于Windows混合现实的OpenXR工具-110.2202.10002。

如果您使用了Micrsoft Store应用程序的最新版本,请尝试从Github手动安装110.2202+版本,并告诉我升级后是否仍然存在此状态更改问题。

最新更新