[开发者心得] [性能优化] 注意这些细节,可以让你的游戏不那么卡顿~

[复制链接]
2221 |14
本帖最后由 叽里咕噜小胡桃 于 2023-7-3 19:27 编辑

在创作者中心的性能数据,你有关注过吗?
帧率过低、平均Drawcall过高、平均内存过高、游戏线程平均耗时过高、渲染线程平均耗时过高
都可以参照以下内容,统一进行优化,以提高帧率表现~
1. 减少场景里的模型数量
尽可能减少场景里面的物体数量,能用一个物体的,就不要用多个
  比如地板,可以用平面+贴图,不要一个一个方块地去“贴地砖”
  又比如房屋,能用现成的房屋就不要从地板、墙面、楼梯、天花板一个一个搭
20230309153429_rec_.gif
反面教材↓ 一个场景里的地板全是一块一块方块拼起来的,性能堪忧
image.png

2. 减少不必要的双端动态对象
特别是在使用预制体对地图内容进行迁移的时候,弄完之后要记得解散、删除预制体,把场景里的预制体改为静态
详见:https://forum.ark.online/forum.php?mod=viewthread&tid=1279
内容较大的动态双端预制体会在加载的时候消耗巨长时间,且占用较大内存,非常不划算
反面教材↓ 地图里很多元素都是用预制体没有解散,加载的时候就会额外占用更多内存和时间
image.png

3. 提高模型的复用率
提高场景里模型物件的复用率,如用于场景装饰的箱子等,可以在不同地方多次出现
image.png

4. 少用半透、植被相关素材
  少用这类带标识的东西,这类资源带有mask材质,会导致游戏产生性能风险,能不用就不用
image.png
image.png

5. 多用低面数的模型代替高精建模
面数过多,手机负担过大,场景建模建议多用lowpoly相关的
能用基础模型就不用lowpoly,能用lowpoly就不用写实风格
image.png

6. 适当减少场景里的npc人型对象
场景里的npc人型对象会消耗很多性能,建议适当减少场景里的npc形象
image.png

7. UI也要记得优化
UI少用高分辨率的图片,用多了真的很卡
同屏幕下不要一次出现太多高分辨率的UI,也不要出现太多UI控件
反例↓
oTxNtTwor5.jpg


8. 代码层面要简化
代码里尽量少写死循环,少用性能消耗高的API
RPC、Replicated相关的、换装同步、高频循环等




image.png
回复

使用道具 举报

空伊伊 发表于 2023-3-9 19:00:50 | 显示全部楼层
先赞后看,已成习惯
回复

使用道具 举报

叽里咕噜小胡桃 楼主 发表于 2023-3-9 19:02:26 | 显示全部楼层
空伊伊 发表于 2023-3-9 19:00
先赞后看,已成习惯

好哦好哦~
回复

使用道具 举报

喵喵哭唧唧 发表于 2023-3-9 19:13:04 | 显示全部楼层
太强了,胡桃老师我要看下一篇
回复

使用道具 举报

叽里咕噜小胡桃 楼主 发表于 2023-3-9 19:47:39 | 显示全部楼层
喵喵哭唧唧 发表于 2023-3-9 19:13
太强了,胡桃老师我要看下一篇

hhhh好好好
回复

使用道具 举报

忆倾城 发表于 2023-3-10 09:57:13 | 显示全部楼层
性能消耗高的API是指哪些?说的不清楚
回复

使用道具 举报

叽里咕噜小胡桃 楼主 发表于 2023-3-10 10:17:05 | 显示全部楼层
忆倾城 发表于 2023-3-10 09:57
性能消耗高的API是指哪些?说的不清楚

RPC、Replicated相关的、换装同步、高频循环等,这些一般写的时候会有感知的
回复

使用道具 举报

那年夏天AM8 发表于 2023-3-16 16:08:27 | 显示全部楼层
牛,学习了!
回复

使用道具 举报

空伊伊 发表于 2023-3-16 17:00:11 | 显示全部楼层
我来水点经验
回复

使用道具 举报

叽里咕噜小胡桃楼主 发表于 2023-3-16 17:01:16 | 显示全部楼层

我v3了hhh
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表