找回密码
 立即注册
查看: 442|回复: 0

Unity及C#优化

[复制链接]
发表于 2021-8-26 11:29 | 显示全部楼层 |阅读模式
1、C#

(1)避免装箱拆箱;

(2)避免高消耗API的频繁调用;

例如:FindObjectsOfType、Camera.Main、GetComponentsInChildren、sharedMaterials

(3)空方法删除,尤其像Update、LateUpdate、FixedUpdate

(4)频繁改动字符串:StringBuilder替换“+”拼接;

(5)材质属性修改使用MaterialPropertyBlock,避免直接调用material/materials产生新实例

(6)组件层级不要太深,transform计算相关耗时

2、Lua与C#交互(我目前使用的是xlua)

(1)减少string参数传递,C#端获取是直接拷贝一个字符串到C#

(2)减少Vector3这种结构体的传递,C#端一般是通过Unpack()接口将lua传递的table中的每个值拷贝到结构体对应的值中,虽然不会产生GC,但是也有Unpack操作的消耗。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 13:59 , Processed in 0.086882 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表