Unity3d花屏处理
原文地址:http://blog.csdn.net/yanchezuo/article/details/77337755
4年前遇到的花屏问题,如今又遇到了。这次通过不断的测试、重现、修改、反思,终于得出了最终原因和最终答案!
你的界面花屏了?
去检查一下,你游戏中的相机clearFlag的设置,是不是没有clearFlag设置为SolidColor或者SkyBox的相机?
解决方案:一定要有一个clearFlag设置为SolidColor或者SkyBox的相机,并且这个相机的depth为你所有相机中depth的最小值(保证这相机先渲染)
原理
Unity每个渲染帧的开始,并不会清空颜色缓冲区和深度缓冲区,是通过设置相机的clearFlag来起作用的,具体如下:ClearFlag 颜色缓冲区 深度缓冲区 SkyBox 改变,设置为skyBox的颜色 不改变 SolidColor 改变,设置为BackGround颜色 不改变 DepthOnly 不改变 改变,清空深度缓冲 因此,如果场景中没有一个改变颜色缓冲区的相机,在渲染的初始帧,颜色缓冲区会保留上一帧的结果。
在此,给一种出现花屏的现象的实例:
场景中有两个相机,设置分别为:相机 clearFlag depth Culling Mask gameCam depthOnly -1 GameScene uiCame depthOnly 1 UI
渲染顺序为:
颜色缓冲上一帧残留(A) -> 当前渲染帧开始 -> gameCame 渲染,修改颜色缓冲区 (B)-> uiCam渲染,修改颜色缓冲© -> 显示到屏幕上.
最终渲染的是A+B+C
拓展:花屏和卡帧
当然,如果在切换界面的时候,不卡帧,其实也不会出现花屏的现象。这一条先占上坑,改天详细说明。
拓展:花屏和多线程渲染
在我的测试中,如果开启了多线程渲染,一卡帧,很容易就出现花屏。相反,不开启多线程渲染,基本上是不会有花屏现象的。特别是开了垂直同步之后,cpu会等待gup渲染结束再进行下一帧的计算。
ps.Unity3d垂直同步有个坑,和帧率相关
垂直同步QualitySettings.vSyncCount的设置,值可以为0,1,2。vSyncCount 是否等待GPU渲染完成 游戏帧率 0 否 不影响帧率设置 1 是,一个缓冲buffer 影响,强制60fps 2 是,2个缓冲buffer 影响,强制30fps 拓展:花屏和GL.Clear()
GL.Clear()当然是可以清除颜色缓冲的。不过,由于不知道卡几帧,每帧都设置GL.Clear()也是挺奇怪的。
所以,在切换界面的时候调用一次GL.Clear()不能完全解决花屏的问题。
GL.Clear()是使用,参见:
http://blog.csdn.net/yanchezuo/article/details/12751917
Unity3d花屏处理相关推荐
- 相机录像出现花屏_[Unity3D]花屏问题解决
"多年前遇到的花屏问题,通过不断的测试.重现.修改.反思,终于得出了最终原因和最终答案!" 你的屏幕花了? 去检查一下,你游戏中的相机clearFlag的设置,是不是没有clear ...
- Unity花屏解决方案
Unity花屏解决方案 前言 花屏原因 解决方案 一.GL.Clear() 二.UI相机采用Solid color模式 三.不让游戏出现完全没界面的空窗期 结语 前言 上次在项目中,遇到了一次andr ...
- unity3d老电视花屏闪烁效果
找到一般都是全屏的闪烁效果 于是就移植了一个shader可以用到模型上的 另外添加了一些控制参数 做了个小场景试试效果,如下图 Shader "Custom/Screen" {Pr ...
- 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法
One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...
- Windows10下安装unbuntu双系统 以及花屏解决办法
文章目录 Windows10下安装unbuntu双系统 1 创建未分配卷,为ubuntu系统提供空间 2 制作ubuntu启动u盘 下载ubuntu 下载Universal-USB-Installer ...
- PPStream、PPlive等播放器花屏之解决办法
PPStream.PPlive等播放器花屏之解决办法 解决方法1:打开"Windows Meida Player"播放器,找到"工具"->"选项 ...
- Android 布局错乱 Android花屏
最近做项目,妈的,有个一个很难受的bug. 这个bug ,自己这里没有手机,没有办法复现,找到了手机之后.解决了. 我先给大家看下什么叫布局错乱,花屏: 来张正常的图片: 正常情况下是这样的.然后, ...
- 服务器上装centos系统花屏,CentOS系统如何解决鼠标花屏的问题
因为有次在安装CentOS系统后,突然出现了花屏的现象,还有,就是鼠标也不能用管理.所以,我找了很多关于这个问题的资料,也找到了很多解决这个问题的办法,但是很多的方法不知道什么原因都不是很完整,或是根 ...
- LCD显示异常分析——开机闪现花屏【转】
转自LCD显示异常分析--开机闪现花屏 最近在工作中,有同事遇到LCD开机瞬间会闪现雪花屏的问题,而这类问题都有个共同点,那就是都发生在带GRAM的屏上,同样的问题,在休眠唤醒时也会出现. 其实这类问 ...
最新文章
- 【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板
- airtest自动化测试_自动化测试必备实用工具,帮你提高工作效率|Gitee项目推荐...
- 故障模块名称kernelbase.dll_故障码都看不懂,你还修啥车?
- 算法简介、7种算法分类
- java雪崩_【并发编程】java 如何解决redis缓存穿透、缓存雪崩(高性能示例代码)...
- IE、Chrome、Firefox 三大浏览器对比
- ORA-00923: 未找到要求的 FROM 关键字
- Linux下虚拟打印机CUPS-PDF教程
- opencv python 灰度化,opencv-python 图像灰度化
- 计算机无法识别银行usb是,电脑不能识别USB设备(加密设备、网银U盾等)的解决方法...
- 老徐和阿珍的故事:CAP是什么?超级爱放P吗?
- 漫画 | Linux 内核,简直太形象了!
- 卡贴机变无锁教程_如何让“有锁”iPhone变“无锁”?“有锁”iPhone变“无锁”设置教程...
- Centos ansible部署,启动服务失败
- 百度站长平台"添加站点"提示"您无权访问该页面,点击确定按钮返回首页?"
- C语言大学期末考试重点,快点码住,再也不用担心挂科啦
- 2021玉林芳草中学高考成绩查询,「分数线」2020年成都玉林中学招生录取分数线...
- 10-赵志勇机器学习-meanshift
- java 遍历阿斯克吗_java学习笔记
- php查询友情链接,php实现首页链接查询 友情链接检查的代码