没法整成一篇文章的就先丢在这里了
干了挺久的优化了来简单谈谈目前ue项目的优化
1.大量用在血条 跳字 以及提示的UI
widget component
不推荐使用world类型 每多一个这种ui在ios上会多0.1ms开销(pc一样)
使用world 3d ui的需求可以用billboard代替。
2. 尽可能地减少骨骼动画的数量。
用顶点动画代替就行。
TG_PrePhysics
Post Tick Component Update
3. 脚本(python/lua) && C++ && BP模式的开发注意点
a.脚本调用C++是反射调用,消耗在0.1ms一次,不可以出现在频繁使用的地方,例如开枪,tick等。可以自己包函数调用来解决。
b.C++/BP调用脚本也是0.1ms一次的消耗,可以用事件绑定来实现而不是直接call function。
c. 功能实现的时候C++只定义函数,可以用BlueprintNativeEvent, BlueprintImplementableEven用蓝图来实现功能。敏捷开发。
d. 只能脚本与服务端进行频繁的数据交互,BP与C++进行频繁的数据交互,做好基本的数据隔离。
e, 不要滥用tick, 绝大部分的业务需求都是可以用事件来处理的, 非要使用时3者都有tick要知道基本的顺序,否则会出现隔帧延迟的bug 较难查。