RTX神经纹理压缩并非超分辨率技术:AI如何以GPU计算换取纹理内存

纹理压缩通常意味着存储纹理数据的较小版本,并在使用前或使用期间将其扩展为常规 GPU 格式。NVIDIA RTX 神经纹理压缩改变了这一模式:部分纹理数据变成了一种可由 GPU 自身解码的小型神经表示。
为什么普通纹理压缩仍然占用大量内存
现代基于物理的材质很少由一张图像组成。单个表面可能使用反照率、法线、粗糙度、金属度、环境光遮蔽、不透明度和其他通道。
传统的 GPU 块压缩格式(如 BC1 到 BC7)降低了成本,但 GPU 最终仍要为材质存储常规纹理块。
随着纹理分辨率和材质复杂度的增加,这些通道会消耗磁盘空间、流式传输带宽和 GPU 内存。
RTX 神经纹理压缩实际存储什么
NVIDIA 的 RTXNTC SDK 将属于同一材质的通道一起压缩。当前 SDK 在一个 NTC 纹理集中最多支持 16 个纹理通道。
压缩过程不是只保留传统的压缩纹素,而是产生两个主要部分:一个小型神经解码器的权重和紧凑的潜在特征数据。
神经纹理管线
为什么一起压缩通道会有帮助
材质通道通常是相关的。基础颜色中可见的划痕也可能出现在法线或粗糙度贴图中。织物图案可以影响同一空间位置上的多个通道。
NVIDIA 设计 NTC 就是为了利用这些相关性,而不是独立压缩每个纹理。
这就是该技术被描述为面向材质的压缩,而不仅仅是另一种图像格式的原因之一。
三种 NTC 运行时模式是理解该技术的关键
RTXNTC 最重要的部分不仅在于材质如何被压缩,还在于游戏选择何时解压它。
加载时推理 vs 采样时推理 vs 反馈时推理
| 神经解码发生的时间 | 运行时纹理内存行为 | 主要权衡 | |
|---|---|---|---|
| 加载时推理 | |||
| 采样时推理 | |||
| 反馈时推理 |
加载时推理:将神经压缩作为存储格式
加载时推理是最容易理解的一种模式。
游戏以紧凑的 NTC 形式存储材质。当资源被加载时,GPU 重建纹理数据,并可将其转码为普通的 BCn 纹理格式。
完成该步骤后,渲染可以使用常规的纹理采样。重要的节省主要发生在解压之前:打包后的游戏体积、下载体积或资源流式传输带宽。
但一旦材质被完全展开为常规纹理,其运行时显存占用又会接近常规表示。
采样时推理:让纹理在显存中保持神经形式
采样时推理是更激进的一种模式。
着色器不会在渲染前将材质展开为常规纹理,而是读取紧凑的潜在数据,并在需要纹理值时运行神经解码器。
NVIDIA 自家的 SDK 示例在使用采样时推理时,将 12 MB 的 BCn 材质表示与 2.5 MB 的 NTC 表示进行了对比。
这种节省是真实的,因为常规纹理数据不需要完全常驻。但代价转移到了别处:像素着色器或命中着色器现在要执行神经推理。
反馈时推理:只解码玩家实际看到的内容
反馈时推理介于两个极端之间。
渲染器会跟踪实际请求了哪些纹理瓦片。系统不会立即展开完整材质,而是可以批量解码被请求的瓦片,并保留一个工作缓存。
从概念上讲,这结合了神经压缩与纹理流式传输:系统只为变得相关的区域支付解码成本。
当前的示例实现比其他模式更专门化,其支持限制也不同,因此应将其视为一种集成策略,而不是对普通纹理流式传输的通用替代方案。
纹理存储与计算的交换
理解神经纹理压缩最简单的方式,是将其视为资源之间的交换。
当纹理存储变为神经化时,什么发生了转移
| 传统压缩纹理 | 神经纹理表示 | |
|---|---|---|
| 磁盘/存储 | ||
| 显存 | ||
| 采样开销 | ||
| 质量控制 |
为什么专用矩阵硬件很重要
如果每次乘法都必须像普通的标量着色器工作那样处理,那么为纹理采样运行神经网络将会过于昂贵。
因此,RTXNTC 受益于 Cooperative Vector 以及现在的 DirectX 12 线性代数路径,这些路径允许着色器使用 GPU 矩阵加速硬件。
v0.10.0 测试版明确添加了通过随 Shader Model 6.10 引入的 DirectX 12 线性代数 API 进行推理的功能。
为什么神经纹理压缩不是纹理超分辨率
这两种技术都可以使用机器学习,但它们解决的是不同的问题。
神经纹理压缩与超分辨率
| 神经纹理压缩 | 超分辨率 | |
|---|---|---|
| 输入 | ||
| 目标 | ||
| 运行时机 | ||
| 输出 |
因此,神经纹理压缩可以存在于 DLSS、FSR、XeSS 或原生渲染之下。它改变的是材质数据的存储和重建方式,而不是最终显示分辨率。
质量调节旋钮是每像素比特数
NTC 是有损压缩。压缩信息量主要通过每像素比特数设置来控制。
更高的比特率给模型更多信息,通常能改善重建质量。更低的比特率提高压缩率,但增加可见错误的风险。
由于多个通道共享同一表示,在不增加比特率的情况下添加更多材质通道,可能会降低每个通道可用的质量。
为什么相关材质通道很重要
当多个材质通道描述相关结构时,神经表示会变得更有价值。
如果反照率、法线和粗糙度都包含相同的划痕、接缝或织物纹理,解码器就可以利用共享的空间信息。
如果这些通道是不相关的噪声,可利用的公共结构就更少,压缩问题也会变得更困难。
神经纹理价值测试
神经纹理压缩什么时候才真正有用?
为什么“小 8 倍”需要结合语境
NVIDIA 的 RTX Kit 将 RTX 神经纹理压缩描述为:在视觉保真度与传统块压缩相似的情况下,可提供最高 8 倍的磁盘内存改进。
“最高”这个词很重要。压缩比取决于材质、通道数量、目标比特率、解码器配置和质量阈值。
同样的比例也并不自动代表显存节省。加载时推理可以从紧凑文件开始,但仍会扩展为传统 GPU 纹理。采样时推理会在 GPU 内存中保留紧凑表示,但会在着色期间消耗更多计算。
解码器大小是另一个性能与质量的权衡
NTC 运行时使用一个小型多层感知机来解码纹理值。
NVIDIA 当前的库使用可配置的解码器架构。更大的网络可以提高压缩质量,但执行成本更高;更小的网络可以运行得更快,但重建质量会有所损失。
这为引擎开发者提供了纹理分辨率和比特率之外的另一个调优维度。
为什么这对未来的游戏安装很重要
现代游戏越来越多地附带高分辨率材质集,这既影响下载大小,也影响运行时内存。
神经纹理压缩创造了一个新选项:发布紧凑的学习表示,然后稍后决定是在加载时扩展它、在着色期间直接重建它,还是只解码请求的瓦片。
这意味着一种压缩资产表示可以参与多种不同的运行时内存策略。
它也改变了“纹理内存”的含义
在传统渲染中,纹理内存预算主要涉及纹理格式、mip 级别、分辨率和驻留。
在神经纹理中,开发者还可能需要为潜在数据、解码器权重、推理缓冲区、转码缓存以及重建所请求值所需的计算进行预算。
因此,资产不再具有一个简单的固定内存标识。
跨厂商支持比 RTX 名称所暗示的更为微妙
RTXNTC 是 NVIDIA 的 SDK,根据 SDK 要求,压缩本身目前需要 NVIDIA GPU。
运行时解压缩范围更广。NVIDIA 记录了在 Shader Model 6 硬件上的功能路径,并指出在 NVIDIA、AMD 和 Intel GPU 上的验证,而高级 Cooperative Vector / Linear Algebra 路径取决于 API 和驱动程序支持。
因此,不应仅仅因为基本解码器可以运行就假设各厂商之间的性能和功能对等。
什么会改变这个答案?
NTC 仍处于测试阶段。在稳定生产版本发布之前,运行时模式、解码器架构、驱动程序支持和集成路径可能会发生变化。
最大的长期变化将是 DirectX 和 Vulkan 中标准化神经着色器原语的广泛采用。这将使神经纹理解码不再那么依赖于特定厂商的自定义执行路径。
局限性
本文描述了架构和当前公开的 RTXNTC SDK 行为。NVIDIA 引用的压缩声明由厂商提供,不应被视为对每种材质都有保证的结果。
当前 SDK 是测试版软件,一些预览路径有记录的驱动程序和平台限制。
结论
RTX 神经纹理压缩之所以有趣,是因为它改变了一个非常古老的假设:纹理细节并不总是必须以传统纹素的形式存在于内存中。
材质可以部分存储为紧凑的学习表示,并在需要时重建。
这并不会带来免费的质量或免费的内存。它创造了一种新的交换:以更少的存储、带宽和潜在的 VRAM 换取神经推理工作。
真正的创新不是“AI 让纹理更清晰”。而是游戏材质数据的一部分可以变成计算。
常见问题
通俗解读 RTX 神经纹理压缩
RTX 神经纹理压缩是超分辨率技术吗?
NTC 能减少显存占用吗?
神经网络存储了什么?
NTC 会在渲染前解码整个纹理吗?
神经纹理压缩是无损的吗?
RTXNTC 已可用于生产环境吗?
术语表
关键神经纹理术语
- 神经纹理压缩
- 一种将纹理信息存储为紧凑潜在数据加神经解码器权重,而不仅仅是传统纹素块的技术。
- 潜在数据
- 紧凑的学习特征,神经解码器用其重建纹理值。
- 解码器
- 一个小型神经网络,将潜在特征转换为重建的纹理通道。
- 加载时推理
- 一种运行时模式,在加载资产时解码神经纹理,通常转换为传统纹理格式。
- 采样时推理
- 一种运行时模式,在纹理采样期间直接执行神经解码,因此压缩表示可以保持驻留。
- 反馈时推理
- 一种运行时策略,利用纹理反馈仅解码和缓存所请求的纹理块。
- 纹理存储与计算交换
- Figure Rocks 模型,描述以纹理存储、带宽和显存换取额外 GPU 神经推理工作。
- 神经纹理价值测试
- Figure Rocks 工作流程,用于判断神经纹理压缩是否对特定材质和目标 GPU 产生净收益。
主要来源
NVIDIA 开发者 — RTX KitRTX 神经纹理压缩的官方概述,以及 NVIDIA 公布的存储减少定位。
NVIDIA RTXNTC — SDK README官方 SDK 文档,描述材质通道压缩、解码器/潜在表示、运行时模式、内存示例、系统要求和 Cooperative Vector 支持。
NVIDIA RTXNTC — 版本发布官方发布历史,包括 v0.10.0 测试版和 DirectX 12 线性代数推理支持。
NVIDIA RTXNTC — 压缩设置与图像质量官方文档,涵盖比特率、通道交互、质量测量和有损压缩行为。
NVIDIA — LibNTC官方运行时库文档,描述解码器配置以及不同神经网络规模的质量/性能权衡。
Related Articles

显存使用量不等于显存需求量:为什么显存占用满并不代表全部真相
在8 GB显卡上看到7.8 GB已使用,可能看起来像是游戏显存耗尽的证据。事情并没有那么简单。本指南将解释VRAM容量、驻留预算、工作集、共享内存,以及如何判断内存压力是否真的导致了卡顿。

降低了图形设置但帧率没有提升?你很可能调错了瓶颈。
你降低了阴影、特效和分辨率,但帧率几乎没有变化。本指南解释了为什么图形设置只有在减轻真正限制帧率的工作负载时才有帮助——以及如何识别 CPU、GPU、内存、流式加载和帧率上限瓶颈。
存储流媒体卡顿修复:当资产加载跟不上时
流媒体卡顿发生在新区块加载时:存储、解压或资源流限制。在降低所有图形设置前,请按此顺序尝试修复。

Windows Auto SR 不是 DLSS:NPU 如何在无需游戏集成的情况下实现超分辨率
Windows Auto SR 可以在没有 DLSS、FSR 或 XeSS 集成的情况下对支持的游戏进行超分辨率处理。Windows 不是在游戏内于 GPU 上运行重建模型,而是使用 NPU 从较低分辨率的渲染中重建出更高分辨率的图像。
amiibo常见问题解答:每个人都问的20个问题(以及直截了当的答案)
一份无废话的Amiibo常见问题解答:兼容性、扫描方式、区域版本、再版信息、价值评估与收藏规则——清晰解答,助新手不再花冤枉钱。
存储与流式传输:减少加载时间,避免卡顿
快速存储仅在流式行为稳定时才有帮助。本指南将解释输入/输出如何影响卡顿,以及应优先调整哪些设置。

DirectStorage 1.4 并不会让你的固态硬盘解压游戏:Zstd 和 GPU 解压实际上做了什么
DirectStorage 1.4 新增了 Zstandard 压缩、GPU 解压缩和一个新的游戏资产调理库,但 SSD 本身仍然只是加载管线中的一部分。本指南解释了 SSD、DirectStorage、CPU、GPU 和游戏引擎各自实际负责什么。

DLSS 5 不只是超分辨率:3D 引导的神经渲染究竟改变了什么
DLSS 5 将 AI 引入图形渲染管线的新环节。3D 引导神经渲染不再仅仅重建分辨率或生成额外帧,而是以游戏引擎自身的帧为基础,在开发者控制下增强光照与材质细节。