UE5优化纹理和网格的内存使用情况
Game艺视界原创文章原创 14726 0
实名

通过了实名认证的内容创造者

发布于 2023-4-28 15:46:48

您需要 登录 才可以下载或查看,没有账号?注册

x

本期笔记内容今天我们将讨论内存使用情况,但任务管理器当然不是一个好工具,正如您所见在 Windows 10 的任务管理器中这里的 ram 和 gpu 内存,你可以看到他们专用的gpu内存使用量,当然是整个桌面的总和现在它是12G中的1.5G

a54425c868d4da8b371c35b4730c533c.png


你能检查什么?
首先检查你的可扩展性设置通常来说,拥有这些Epic的东西是没有意义的,所以我们可以点击高,实际上也可以是100%

7776e6f52dcaa78c4238ce0427aa2453.png


什么能占用我们的内存,这些是网格和纹理数据




就整个渲染而言,这些也是全屏缓冲区和各种体积物质粒子,我们有这个最终的渲染缓冲区。它必须是某种分辨率,某种纹理格式所以你可以想象最终的东西可能是像rgb8位每像素,如果我们渲染hdr,如果你去缓冲可视化还有更多如:基础色、金属、粗糙度、法线等
所有这些一起被称为 G buffer

所以 G buffer是各种材料参数的全屏缓冲区,稍后将与照明一起使用以产生最终图像中间的那个。但是所有这些会占用你的内存你不能跳过内存,你必须为所有事情保留内存所以这只受分辨率的影响
较低的分辨率渲染它这减少了G缓冲区的权重,因此只有最终图像保持不变

但一般来说这是你可以做的唯一影响它的事情,unreal你不能在G缓冲区的布局上改变那么多对你来说很好,除了网格纹理、g缓冲区和体积之外,还有一件事可能会占用你的内存。这是所有类型的附加贴图,如Lumen这里是正常场景这不是使用Lumen场景,所以我们不太在意,但Lumen和反射探针让我找到一些反射探针,球体反射这样的东西有一定的工作距离,当然反射捕获在其他引擎中有一个预定义的分辨率每边128像素有立方体贴图

HDR纹理更昂贵,它们被用于我们的反射探测器
如果你在这里烘焙了光照贴图,我们可以这样查看光照贴图也需要一定的内存

反射捕捉分辨率设置


我们可以在工具下检查纹理内存使用

它告诉我们使用它的纹理的名称、格式2d,是不是虚拟纹理、最大尺寸和当前尺寸这很重要。因为您可以导入更大尺寸的纹理。然后针对给定的平台对其进行优化、组、这里您有完全加载的内存大小,所以植物纹理是最大的

纹理LOD设置,在这里你可以看到,对于给定的平台我单击这个三点平台编辑器打开你的纹理LOD设置,你可以说LOD Bias


从尽可能低的开始(在做优化的时候)

双击纹理修改游戏模式最大尺寸

切换为静态模型审查模式
Sum Tris:三角形总数

当涉及到内存时,如果你使用即时静态网格,你不必担心这无关紧要

【重要】
** 纹理我们可以有R\G\B\A,但是gpu上的内容可以是只发送八的倍数
** 注意我们的R5位 G6位 B5给我们16位,它可以在这里(R)做 6 个,在这里(B)做 6 个,因为16位这对于GPU来说是一个奇数,所以如果你添加一个那么目前你必须加上8位,所以在 16 之后我们有 24 所以这意味着它必须添加八位
** 它 alpha 是最精确的通道,但它会改变纹理的权重加上50%所以仅仅添加alpha并不能将你增加到三分之一它有你50,这也意味着绿色是最高精度的通道,所以将你的粗糙度打包成绿色,因为你不太关心金属你可以打包到 R 中,AO你可以打包到B中

LOD0当然是内存的最佳选择,但是拥有更多的lod会花费更多的内存,但可以节省渲染时间所以让我们手动生成一些

现在,展开 LOD2 和 LOD3,将LOD2的 三角形百分比(Percent Triangle) 设置为 25%,将LOD3的 三角形百分比(Percent Triangle)设置为 12%。完成后,你将看到每个LOD在LOD名称旁边使用许多三角形(如下图所示)


批量设置纹理尺寸

先选择所有贴图然后右键批量编辑纹理贴图


现在关于光照贴图分辨率的事情

光照图密度:在这里你可以看到这是绿色的而这是红色的像素更密集,所以这张图这个视图代表了光照图的实际像素网格,当你选择时候它是紫色是为了区分我们选择物体而已

我们来的模型并双击,可以看到我们光照贴设置,当我们调整大小时候棋盘格颜色也在变化


关于蓝图具体见视频:01:07:20
让我们尝试做一些类似的事情,让我们制作一个BP

好!本期笔记分享就到这里,我们下期见!

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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