纹理优化
纹理通常是最常用和最消耗内存的资源。拥有大量资源的大型项目必须面临优化阶段以提高性能并具有可接受的 FPS。
项目瓶颈的概述如下性能分析器.通过使用Rendering Performance Profiler ,您可以估计纹理消耗的视频内存量。
调整全局纹理设置快速选择项目中所有纹理的所需质量或最大分辨率,从而减少视频内存消耗。较低分辨率的 Mipmap 用于渲染较低质量的纹理。
异步流#
异步数据流图形资源确保平滑加载纹理,在运行时的最初时刻不会出现峰值和其他对性能的影响。确保它为您的世界启用了大量纹理,这些纹理肯定不适合视频内存。
为确保不超过视频内存预算,Memory Limits 控制释放不必要的资源。相应的纹理的内存限制在Rendering Profiler中作为 Textures Limit 值可用。请注意,此设置只是对引擎的建议,如果需要纹理来渲染当前帧,则可以超出指定的内存限制。
为纹理设置较低的内存限制是不合理的,因为在这种情况下,纹理会不断地从磁盘存储中重新加载,从而影响性能。
纹理缓存用于在加载全尺寸纹理时进行渲染也会占用视频内存。虽然它通常占用很少的空间,但请考虑降低分辨率,从而降低缓存纹理的大小以获得更多可用内存。
纹理格式#
您可以控制其中的每个纹理资源导入参数.
通常不适合使用启用了 Unchanged 选项的纹理,除非它们具有 *.dds 或 *.texture 格式。否则,压缩可能会对颜色数据产生很大影响(例如使用自定义 hdri 纹理)。
使用正确的方法很重要纹理预设对于每种纹理,取决于其适用性。因此,您确保只使用需要的通道并应用适当的压缩算法。如果列表未提供所需的预设,您可以选择 Custom 选项并选择所需的选项。
您也可以手动选择所需的纹理分辨率导入选项.
Texture Profiler#
为了清楚地了解可以优化或删除哪些资源,使用了 Texture Profiler。使用此工具,您可以查看项目中使用的每个纹理占用了多少内存,在 Asset Browser 中轻松找到它,并删除或调整它的大小。
要打开 Texture Profiler 窗口,请在 UnigineEditor 的菜单栏上选择 Tools -> Content Profiler 并切换到 Textures 选项卡。通过使用 Location 开关,您可以选择从整个视频内存中检查纹理,所有仅显示在编辑器视口中的纹理。
Texture Profiler 允许按路径、扩展名、占用的 RAM 或显存大小、格式或分辨率进行排序。