
优化
文章平均质量分 68
淡泊以致远
一个文艺的程序员
展开
-
手游客户端的性能篇(二)----Unity和C#版之字符串拼接,Struct和Class的区别与应用
接着上篇文章:2、字符串拼接(简单,直接结论) 使用“a” + “b”在几次(10次以内吧)连接是不会产生gc的但是大量连接就会产生; 连接多的用StringBuilder,内部Buffer默认16,多的时候还会重新分配,也可指定值,也会有GC,但是当连接次数多时GC明显少于“+”。3、Struct和Class(顺便介绍一下C#中的Struct和Cla...原创 2018-11-13 17:44:16 · 606 阅读 · 0 评论 -
手游客户端的性能篇(三)----Unity和C#版(具体优化--UGUI,资源规范等)
接上篇:4、Enum:枚举当Key使用或枚举转换为String,都会有GC5、闭包:函数和与其相关的引用环境组合成的实体。闭包IL代码会出个新类,频繁调用一个函数时,尽量不用。6、其他 1>update中没必要每帧的。 2>不要常使用find,在start中缓存。 3>使用内建数值,比如Vector3.zero而不是new...原创 2018-11-14 11:00:09 · 460 阅读 · 0 评论 -
手游客户端的性能篇(一)----Unity和C#版之Foreach GC
序:昨天去了南京的汤山紫清湖温泉,安利一下,价格也不贵(不是打广告。。。不贴怎么订票之类的,有兴趣可以评论),还去见了多年未见的老友啊~不出意外的话下篇是手游客户端的性能篇(二)----Unity和C#版,想写优化和性能想写很久了,正好借机会总结一下。 先放一下2018年TX移动游戏技术评审标准:(摘自腾讯游戏学院) 1.foreach的...原创 2018-11-12 17:09:56 · 785 阅读 · 0 评论 -
深入了解 Unity 批处理
DrawCall是OpenGL中描述绘制次数的一个量,例如一个基本的OpenGL绘制流程是设置颜色、设置绘图方式、顶点坐标、绘制、结束。 目的:Unity3D使用了批处理来达到降低DrawCall的目的,批处理希望通过对物体网格的重组来获得更高的绘制效率。通俗点讲,多个物体合并成一个物体后,多个DrawCall就变成一个啦。 条件:Unity3D中批处...原创 2018-12-11 16:54:38 · 842 阅读 · 0 评论 -
Unity资源管理(二)
之前在前面的Unity资源管理(一)中有讲过一些资源管理,现在系统的再补充一些一、资源读取方式1. Resources:支持编辑器模式和发布模式 ,缺点:Resources文件夹下的任何一点点修改,都会导致Resources包的重打。2. AssetDatabase :仅支持编辑器模式,缺点:正式发布版不能用,要用AssetBundle来替换。3. AssetBundle: 支持编...原创 2019-01-09 14:29:16 · 500 阅读 · 0 评论 -
UnityShader优化
一、计算量优化 对不影响最终效果但仍在计算的删除; 尽量在脚本中计算然后传递给着色器,如果不可以的话尽量从像素着色器移动顶点着色器中计算。因为通常像素着色器执行的次数多于顶点着色器。二、Surface Shader Surface Shader方便用户快捷的处理照明,高效的产生底层的vertex和fragment shader。适合编写与光...原创 2019-01-09 17:10:35 · 445 阅读 · 0 评论