• UE4/UE5 虚幻引擎,材质篇,纹理,Compression and Memory压缩和内存


    前言:

    我们执行压缩的原因是,因为内存和带宽有限,因此必须压缩。
    无法将所有一切都保留不压缩,尤其是在非常大的项目中,这是非常难以做到的。
    显然,纹理分辨率会影响内存和带宽而不会影响渲染性能。
    如果你使用的纹理数量和纹理大小出现问题,那么就会影响带宽和内存,可能会导致延迟、冻结和卡顿,但不会造成帧率损失。

    ● 帧率过低一般并非源于纹理问题,如果纹理出现问题,那么你会看到显示的纹理分辨率非常低。
    ● 低于你导入时的分辨率,你会看到延迟、冻结和卡顿之类的现象,但不会出现帧率低。这是我们可能区分可能出现的性能问题的方法。
    如果发生任何此类问题,通常与加载相关,通常与纹理相关。

    ● 如果使用内存不多,那么只需解压项目中的全部纹理即可。
    尤其是如果你的项目并非游戏,并且你可以控制硬件,那么这样的解决方式是可以接受的。
    如果是游戏,那么禁用压缩几乎肯定无法解决问题,只有在不得不采用未压缩纹理的极端特殊情况下,才能禁用压缩。

    一、压缩类型
    BC(Block Compression)表示“块压缩” 。
    DXTC(DirectX Texture comporession)表示“DirectX纹理压缩”。

    二、DXTC5压缩 

    透明通道几乎不进行压缩,DXTC5表示压缩红色、绿色和蓝色并且包含透明,
    但不会真的对透明进行压缩。透明的文件大小与其他通道组合在一起的大小相同。

    三、BC5压缩
    BC压缩和DXTC压缩的问题在于,它实际非常难以精确处理法线贴图的颜色组合。
    它无法按法线贴图将不同颜色混合在一起的方式,来压缩法线贴图,这是系统中的一个弱点。

    如果需要100%未压缩的法线贴图,请将其设置为“矢量置换贴图”,这是一项普遍适用的压缩。
    它不会进行任何操作,只是按原样导入。

    四、TextureStats纹理统计数据(Window窗口——>Statistics统计数据)

    TextureStats纹理统计数据,会显示编辑器中当前内存中的所有纹理。这些纹理与游戏中的纹理并不一定相同,运行项目时,这是编辑器中包含的纹理。而编辑器倾向于加载更多纹理,包括不必要的纹理。

    资料来源:

    https://dev.epicgames.com/community/learning/courses/2dy/materials-master-learning/Y0q/compression-and-memory

  • 相关阅读:
    VBA:合并多行到同一列
    Mysql集群技术问答
    微量元素农业主导-国稻种芯-李喜贵:功能性农业两会档案
    5个月做视频号的心路历程
    node爬虫爬取小说
    Linux系统运维脚本:批量创建linux用户和密码(读取文件中的账号和密码来批量创建用户)
    java计算机毕业设计好物网站MyBatis+系统+LW文档+源码+调试部署
    基于晶体结构优化的BP神经网络(分类应用) - 附代码
    运维学习之部署Grafana
    【补档】基于PyTorch的手写数字识别
  • 原文地址:https://blog.csdn.net/qq_39934403/article/details/125526473