关于Unity粒子系统优化,你可能遇到这些问题

news/2024/7/10 4:52:34 标签: unity, 优化, 粒子系统

原文链接:https://blog.uwa4d.com/archives/QA_ParticleSystem-1.html

关键字

粒子系统合批


Q1:我们在UWA报告中看到有拼合粒子系统和未拼合粒子系统,请问如何拼合粒子系统?有没有什么规则呢?
请输入图片描述

粒子系统的Draw Call动态拼合与半透明物体的动态拼合机制相当(粒子基本都是半透明材质)。而对半透明物体,由于其渲染顺序的限制(必须从后向前渲染,以保证渲染结果的正确性),动态拼合只能对渲染顺序相邻且材质相同的物体有效。而在决定半透明物体的渲染顺序时,Unity首先会按Shader中的RenderQueue进行排序;其次(相同RenderQueue时),会根据每个半透明物件到屏幕的距离,距离大的优先渲染。

因此,需要尽可能地将相同材质的粒子系统放在比较接近的深度下,才能更多地使动态拼合生效。但通常由于相机的运动、粒子系统的分散分布等原因造成粒子系统之间的穿插,能够动态拼合的数量往往都是很少的,所以我们在粒子系统模块看到的开销分布通常类似该图,主要都是未拼合粒子系统造成。

该问题来自UWA问答社区,如您对该问题仍有疑问,可以转至社区进行进一步交流。  https://answer.uwa4d.com/question/58d4cad871d7683a3cc948b4

Q2:在Unity开发中,大规模使用粒子特效会有什么问题 ?如何去针对性的优化

普遍来说,会造成Draw call高、渲染开销大、CPU高等问题。下图就是UWA性能诊断系统对粒子系统检测的几个注意点。
请输入图片描述


Q3:如下图,我们在Unity 5.3.0中使用粒子系统时会触发一个ParticleSystem.Geometryjob的操作,并且该操作十分消耗CPU,请问怎么解决?

请输入图片描述

该问题已经确认是Bug,且已在Unity 5.3.2中修复。
开发者需要关注下自己的开发版本,5.3.2以前类似情况的项目可以参考一下。

该问题来自UWA问答社区,如您对该问题仍有疑问,可以转至社区进行进一步交流。  https://answer.uwa4d.com/question/58d4bf7a71d7683a3cc948ac

http://www.niftyadmin.cn/n/1031939.html

相关文章

cpp调用java_C++调用java

摘要:1 java类生成c头文件和库文件2 对于c/c程序,启动时先启动jvm,然后获得对应的java类的对象和方法。然后正常使用。最近正在做一个C/C调用java的程序,这里说的调用java不是使用方式 exec(/path/to/java,.....),而是…

关于Unity中的NGUI优化,你可能遇到这些问题

原文链接:https://blog.uwa4d.com/archives/QA_NGUI-1.html 关键字 界面制作 界面切换 网格重建 UICamera.Update Draw Call 加载 字体 一、界面制作 Q1:我用的是NGUI,本来已经打包图集了,输出时候是不是就不用理会那些原始2D Spr…

java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数

在很多的网站上有很多不同的点赞,我不知道他们是怎么实现的,下面我来分享一下我写的点赞实现,共大家参考下,这是我在一个项目抽取的代码,可能有些样式会发生变化,但是功能不会影响。网页代码:这…

关于Unity中的UGUI优化,你可能遇到这些问题

原文链接:https://blog.uwa4d.com/archives/QA_UGUI-1.html 关键字 界面制作 网格重建 界面切换 加载相关 字体 一、界面制作 Q1:UGUI里的这个选项 ,应该是ETC2拆分Alpha通道的意思,但是在使用中并没起作用?请问有没有…

关于Unity中的资源管理,你可能遇到这些问题

原文链接:https://blog.uwa4d.com/archives/QA_ResourceManagement.html 关键字 AssetBundle 资源制作 纹理\网格\材质\Shader\音频\动画 Lightmap 一、AssetBundle 相关 Q1:Unity中的SerializedFile是怎么产生的?请问用Unload(false)可以清除…

java closure_JavaScript中的闭包(Closure)详细介绍

闭包是JavaScript中一个重要的特性,其最大的作用在于保存函数运行过程中的信息。在JavaScript中,闭包的诸多特性源自函数调用过程中的作用域链上。函数调用对象与变量的作用域链对于JavaScript中的每一次函数调用,JavaScript都会创建一个局部…

技术分享连载(四十一)

原文链接:https://blog.uwa4d.com/archives/TechSharing_41.html 精选5个性能优化问题,建议阅读时间15分钟,认真读完必有收获。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。 UWA QQ群:465082844 资源制作…

java memcpy代替_memcpy是一个简单的可复制类型的构造或作业?

假设您有一个 T 类型的对象和一个适当对齐的内存缓冲区 alignas(T) unsigned char[sizeof(T)] . 如果使用 std::memcpy 从 T 类型的对象复制到 unsigned char 数组,是否考虑复制构造或复制分配?如果一个类型可以轻易复制而不是标准布局,那么可…