zSpace工程导出场景闪烁问题解决方案
1.导出包后出现的问题
2.zSpace设备的硬件配置
电脑型号 zSpace W1847 笔记本电脑 (扫描时间:2020年06月29日)
操作系统 Windows 10 专业版 64位 ( Version 1809 / DirectX 12 )
处理器 AMD A9-9420 RADEON R5, 5 COMPUTE CORES 2C+3G 双核
主板 zSpace DSW50 ( AMD PCI 标准主机 CPU 桥 )
内存 8 GB ( 三星 DDR4 2666MHz )
主硬盘 三星 MZNLN256HAJQ-00000 ( 256 GB / 固态硬盘 )
显卡 AMD Radeon R2 Graphics ( 512 MB )
显示器 奇美 CMN15F4 ( 15.5 英寸 )
声卡 瑞昱 @ AMD High Definition Audio 控制器
网卡 Atheros Qualcomm Atheros QCA61x4A Wireless Network Adapter / 富士康
(显示器刷新率为120HZ)
3."撕裂"情况发生的可能原因
① 显示设备上的图像更新并不是连续的,而是类似Unity的帧一样定期更新。然而,Unity的更新不一定与显示设备的更新同步,所以有可能Unity提交了新的一帧图像,而显示设备仍显示前一帧图像。这会导致发生变化的屏幕位置出现"撕裂"的现象。可以让Unity在显示设备不更新的时候提交新的帧图像,这个时间段称为"垂直空白"。 质量设置的垂直同步选项可以同步帧切换和设备的垂直空白,或者是其他所有设备的垂直空白。后者可用于游戏需要更新多个设备以完成一帧的渲染的情况。
测试结果:单纯使用这个方法试过是不可行的,场景照样出现"撕裂"的情况。
② 我怀疑是包运行是我选择的渲染质量太高导致机子跟不上,我试着把质量选择最低,结果场景照样还是会出现"撕裂"的情况。
③ 这样只能怀疑下项目的业务代码是否有做特别的设置了,果不其然有一段代码如下:
在场景加载完成后代码层会对场景渲染质量在进行设置。
4.最终处理方案
屏蔽掉对场景渲染质量动态设置的代码,启动设置选择相对较低的渲染质量就可以顺利运行了。