官方团队,你们好!
我们的安卓包在运行时遇到了Vulkan遮挡查询相关的一些崩溃,我们项目默认开启了r.AllowOcclusionQueries。
<br/>
请问当前我们应该怎样解决这类问题?以及帮忙确认下后续版本是否已修复。
[Image Removed]
[Attachment Removed]
官方团队,你们好!
我们的安卓包在运行时遇到了Vulkan遮挡查询相关的一些崩溃,我们项目默认开启了r.AllowOcclusionQueries。
<br/>
请问当前我们应该怎样解决这类问题?以及帮忙确认下后续版本是否已修复。
[Image Removed]
[Attachment Removed]
Hi,
你好,我暂时没有印象其他人有遇到类似的问题,请问这个崩溃可以复现吗?从堆栈看,像是访问越界,但是我没有找到FVulkanQueryPool::GetResultValue这个函数,请问是你们自己添加的吗?
[Attachment Removed]
不是我们自己加的,我们用的是5.5.4
[Attachment Removed]
好的,5.6跟5.5的差异比较大,这部分已经重构了,如果能升级最好,如果不能升级,我看了一下代码,5.5的版本,可能是因为FVulkanDevice.AcquireOcclusionQueryPool 跟FVulkanDevice.ReleaseUnusedOcclusionQueryPools 不在同一个线程执行,并且也没有锁保护,导致某个Pool被delete了,但又被复用了。
可以想办法修复这个问题,通过加锁,或者把释放发送到RHI线程执行来规避。
[Attachment Removed]