zSpace工程导出场景闪烁问题解决方案

发表于2020-07-22
评论0 4.4k浏览

1.导出包后出现的问题

pv9xnU8NEEbOh3JuxDUZ.jpg

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在显示设备不更新的时候提交新的帧图像,这个时间段称为"垂直空白"。 质量设置的垂直同步选项可以同步帧切换和设备的垂直空白,或者是其他所有设备的垂直空白。后者可用于游戏需要更新多个设备以完成一帧的渲染的情况。
测试结果:单纯使用这个方法试过是不可行的,场景照样出现"撕裂"的情况。
② 我怀疑是包运行是我选择的渲染质量太高导致机子跟不上,我试着把质量选择最低,结果场景照样还是会出现"撕裂"的情况。
③ 这样只能怀疑下项目的业务代码是否有做特别的设置了,果不其然有一段代码如下:

C1IQXLkeaUygTBTVfMlC.png

在场景加载完成后代码层会对场景渲染质量在进行设置。

4.最终处理方案

屏蔽掉对场景渲染质量动态设置的代码,启动设置选择相对较低的渲染质量就可以顺利运行了。

  • 允许他人重新传播作品,但他人重新传播时必须在所使用作品的正文开头的显著位置,注明用户的姓名、来源及其采用的知识共享协议,并与该作品在磨坊上的原发地址建立链接
  • 可对作品重新编排、修改、节选或者以作品为基础进行创作和发布
  • 可将作品进行商业性使用

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: