(转整)UE4游戏优化 多人大地型游戏的优化内存的优化

Posted baipao-xd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(转整)UE4游戏优化 多人大地型游戏的优化内存的优化相关的知识,希望对你有一定的参考价值。

施主分享随缘,评论随心,@author:白袍小道,当苦无妨

   

小道暗语:

1、因为小道这里博客目录没自己整,暂时就用随笔目录结构,所以二级目录那啥就忽略了。标题格式大致都是(原or转) 二级目录 (标题)

   

2、因为所看和以前记录太过杂乱,所以只能手动一点点搬移(回忆,整理)。欢迎讨论,知识和能力总是被问出来了不是(嘿嘿,这样才能成长), 若有不对别喷就好哈哈。

   

引言:

文章四方面包括了从游戏线程渲染线程GPU内存等的优化,提升游戏技术底子。

原作者:王祢Epic Games 资深开发者技术支持,管理虚幻引擎技术支持的程序员团队,拥有近15年虚幻引擎使用经验。

   

正文:

优化肯定是有个前提和需求背景的,本文的前提:在移动设备上做大地型的多人游戏。

需求背景:

1、开放地图:视野宽,视距远,地图大

2、场景:风格变化多

3、同屏人不少

4、交互也不少

(看到这里对吧,UE +上述 就直接说堡垒之夜就好了呗)

   

(由于篇幅较长,小道就直接拆开了,各位看官)

   

内存

技术分享图片

   

2

TextureStreaming

   

技术分享图片

在cpu上根据物件bounds的屏幕尺寸×材质中用到的对应贴图的uv scale系数×一个可以由美术tweak的scalar值来决定实际贴图提交的mip数,可以用r.Streaming.PoolSize在不同设备上很方便设置全局的贴图资源的内存Budget。

   

3

Shader Code

Shader code,我们会利用Shared Shader code的功能,将大量静态的分裂导致产生的Shader有重复的去除,将实际的Shader code存入ShaderLibrary,在每个MaterialInstance对象上只存ShaderCode的GUID,大大减小了实际的ShaderCode大小。在有些项目里可以减掉80%。另外,不使用的rendering功能一定要在项目设置中关掉,可以大大减少shader分裂的组合数量。

技术分享图片

   

6.4

RHI

(RHI又见面)

技术分享图片

   

很多

技术分享图片

   

   

   

优化的适配和迭代

技术分享图片

以上是关于(转整)UE4游戏优化 多人大地型游戏的优化内存的优化的主要内容,如果未能解决你的问题,请参考以下文章

(转整)UE4游戏优化 多人大地型游戏的优化渲染线程的优化

(转整)UE4游戏优化 多人大地型游戏的优化GPU的优化

ue4 c++代码怎么获取场景中的一个actor

QQ游戏中锄大地的游戏规则是啥?

关于cocos游戏内存优化

用Macbook Pro 跑 Unity 和 UE4 烧机子怎么办