• 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

  • 相关阅读:
    qt5.12.12添加mqtt库支持
    datagridview设置随窗口改变大小
    【ai】tx2-nx:Yolo V4 直接安装与 测试
    CSP直通车 | 在线直播认证培训双周末班 火热报名中
    springcloud9:openFeign
    【项目 计网12】4.32UDP通信实现 4.33广播 4.34组播 4.35本地套接字通信
    太阳 & IT
    怎样用css画一个圆?
    《计算机操作系统-第二章》之操作系统的运行机制与体系结构
    linux缓存-利用缓存提高性能的编程技巧
  • 原文地址:https://blog.csdn.net/qq_39934403/article/details/125526473