【发布时间】:2017-05-02 06:11:56
【问题描述】:
我在 Android 中使用 Vulkan,每当我触摸 Overview button(方形的那个)并返回我的应用程序时,它都会崩溃。
失败的解决方案 1:
我在失去焦点时尝试停止渲染,然后在重新获得焦点时恢复渲染,但它不起作用,我在 vkAcquireNextImageKHR 崩溃。
失败的解决方案 2:
我尝试从地面到地面重新启动所有 Vulkan 对象,但可悲的是第一次失去焦点并获得焦点一切正常,但两次之后,它在同一点崩溃。
【问题讨论】:
-
它至少应该在崩溃之前给你一个丢失的设备。直接崩溃是一个错误 IMO
-
也许你是对的,也许不是,我不确定。但是在 vkAcquireNextImageKHR 上出现错误是有意义的,我仍在研究其他解决方案。
-
您使用的是 NativeActivity 还是混合 java/native 代码?
-
vkAcquireNextImageKHR 真的会崩溃还是只是返回一个告诉您重新创建表面的值(例如 VK_ERROR_SURFACE_LOST_KHR)?如果发生这种情况,您需要重新创建交换链以及与其连接的所有资源。
-
没错!崩溃是一个愚蠢的词,实际上我得到了错误。我已经重新创建了交换链及其所有相关资源,但它仍然出现相同的错误,我想,我错过了一些东西,它需要大量时间来跟踪它。我更新了深度、模板、render_pass、pileline(不是缓存和布局)和绘制命令。
标签: android android-ndk focus vulkan lost-focus