当前位置: 首页 > news >正文

游戏优化注意点

特效性能分析:

1、粒子数量太多,这个会对CPU的耗时产生一定的压力。
2、粒子的size太大,这样容易导致渲染的像素数量非常高。
3、Overdraw非常高,当场上粒子数非常高导致叠层很高,会造成Overdraw很高,这会对GPU造成一定的压力,尤其在中低端设备上会造成性能的下降,从而影响游戏表现,如:卡顿、发热等。

1、贴图信息
遍历特效的Material.mainTexture统计贴图数量,使用反射调用函数统计贴图所占内存。
private static int GetStorageMemorySize(Texture texture) { return (int)InvokeInternalAPI("UnityEditor.TextureUtil", "GetStorageMemorySize", texture); }
2、DrawCall
采用了UnityStats.batches的数值,统计当前运行的粒子特效的Batches数量(并不完全等同于DrawCall数量)
3、粒子数量
通过反射调用函数进行统计。
#if UNITY_2017
m_CalculateEffectUIDataMethod = typeof(ParticleSystem).GetMethoc("CalculateEffectUIData", Bind
#else 
m_CalculateEffectUIDataMethod = typeof(ParticleSystem).GetMethod"CountSubEmitterParticles",E 
#endif
4、Overdraw
通过Camera.SetReplacementShader这个API全局地替换着色器为Overdraw.Shader。
public void SetCamera(Camera camera)_camera = camera;camera.SetReplacementShader(Shader.Find("ParticleEffectProfiler/OverDraw"), "");
该Shader使得像素每次通过片元着色器进行渲染时G值都会增加0.04。
fixed4 frag(v2f i) : SV_Targetreturn fixed4(0.1, 0.04, 0.02, 0);
将当前特效渲染在RenderTexture上,进而转换为Texture,逐像素统计RGB数值。将每个像素的G值除以0.04得到,该像素实际绘制的次数。
public int DrawPixTimes(float r, float g, float b){return Convert.ToInt32(g/0.04);
遍历所有像素,得到有颜色的像素数量(特效原填充像素点),GPU实际渲染的像素数量(特效实际填充像素点),从而得到重复比率。

http://www.lryc.cn/news/158727.html

相关文章:

  • 【unity3D】如何修改相机的默认视角
  • Docker的初级使用
  • minimumLineSpacing和minimumInteritemSpacing问题研究
  • 【操作系统】聊聊Linux内存工作机制
  • MySQL索引的类型有哪些?
  • 【JavaScript】在指定dom元素前面创建标签元素
  • ARMv8 TTBRx寄存器
  • C51智能小车(循迹、跟随、避障、测速、蓝牙、wifie、4g、语音识别)总结
  • 回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测
  • Kubernetes(k8s)部署高可用多主多从的Redis集群
  • 算法专题:前缀和
  • bs4库爬取天气预报
  • l8-d8 TCP并发实现
  • 编写中间件以用于 Express 应用程序
  • 【2023年数学建模国赛】D题解题思路
  • python爬虫之正则表达式学习
  • 智慧能源方案:TSINGSEE青犀AI算法中台在能源行业的应用
  • 达梦数据库awr报告收集
  • c语言练习43:深入理解strcmp
  • NUC980webServer开发
  • 驱动开发--day2
  • 用户促活留存新方式——在APP中嵌入小游戏
  • MySQL 8.0.34(x64)安装笔记
  • 物流供应商实现供应链自动化的3种方法
  • Mysql更新时间列只改日期为指定日期不更改时间
  • 实时测试工具 Visual Studio 扩展 NCrunch 4.18 Crack
  • Neo4j 基本语法
  • docker常见面试题
  • 静态路由:配置和使用详解
  • 玩转Mysql系列 - 第15篇:详解视图