- 博客(7)
- 收藏
- 关注
原创 Unity的AB包系统使用概论
0. 名词表资源:Resource,主要分为Prefab,Image,AudioClip等,一般在开发时为单个文件包/ab包:AssetBundle,打包后的单个文件,内含若干资源包名:AssetBundleName,为资源设置的归属包的名称1. 打包与解包打包:按一定规则或配置为资源设置包名(一般写个工具读配置遍历设置),build时资源会被打到对应的包中解包:游戏运行时,根据资源路径加载资源,需要先找出所属包,先加载包,然后才能加载资源两者为逆操作,故需要根据打包规则反推所属包,使用配置文
2022-03-17 20:08:01
1884
原创 项目中遇到UGUI卡顿原因
常见原因卡顿原因解决方案多次遍历整个配置表找数据加入缓存,因为代码一般局部性很大,而且缓存占用内存很小,因为保存的是config类的引用,不会有任何副作用active/deactive参考这里优化显隐同帧多次分发事件收到一次事件界面就刷新一次,任务成就等模块就全局遍历一次,这都没有必要,做懒分发或者懒刷新,一帧只刷一次解析文本开销大参考这里,外部导入的动画模型等数据,能二进制就二进制具体问题1卡顿表现打开武将图鉴界面空白卡顿很久
2019-03-29 10:19:58
1630
1
原创 Unity游戏配置存储方案
文本存储+类配置(C#)配置文件格式如下图第一行是列类型说明,第二行是描述,第三行是对应属性名称,用于反射,之后行是实际数据\r\n换行,\t分列,单元格内依次由+、|分割longstringstring[]stringstringintsid活动标题活动图片活动名字活动描述是否可见idtittleiconnamedescvisible1每日签到领取大礼签到28加官进禄jiaguanjinjue_clos
2019-03-22 11:53:09
3397
原创 C#反射优化
参考博文用lambda表达式树替代反射用Emit技术替代反射未参考博文C# 之 反射性能优化1 及后续文章核心代码采用表达式,比较简洁清晰,博文也说性能和emit差不多根据条件不初始化PropertyGetter/PropertySetter,耗时会少很多 public class Property { private readonly Pro...
2019-03-20 10:38:05
794
原创 C#常用类优化
Stringstring相关函数常会用到public enum StringComparison {CurrentCulture,CurrentCultureIgnoreCase,InvariantCulture,InvariantCultureIgnoreCase,Ordinal,OrdinalIgnoreCase}IgnoreCase不区分大小写,比不带...
2019-03-13 13:54:16
430
原创 UGUI显隐优化
耗时来源GameObject的Active/Deative本身耗时不多,主要是内部组件OnEnable/OnDisable的耗时替代方案移出屏幕修改layer,cull不渲染(同时也要屏蔽点击事件)1200个简单Canvas的性能测试Canvas中有Image、Text、ScrollRect、Button等常见组件EventUpdate事件是鼠标按在界面上时的耗时CPU耗...
2019-03-13 13:46:27
614
原创 lua做配置文件
idCol1Col2Col3Id1Value1_1Value1_2Value1_3Id2Value2_1Value2_2Value2_3Id3Value3_1Value3_2Value3_3以一个M行N列的表格为例以行存储存储结构Dictionary<id, dictionary<col_name, value>>第一层: key:行id,value:行数据第二层: key: 列名称 value: 该行该列值占用...
2019-03-12 21:44:57
2332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人