跳转到主要内容

图形检测与计算

纹理显存占用计算器:格式、尺寸与 mipmap

根据纹理宽高、格式和数量计算像素数据量,精确累加完整 mipmap 层级,同时显示字节、MiB、GiB、MB、GB,无需实际分配 GPU 资源。

更新日期:

纹理内存计算器

估算未压缩二维纹理的像素数据,无需向 GPU 分配内存。

纹理设置

选择格式只用于估算数据量,不代表设备或 WebGL 支持该格式。

宽高范围为 1–65,536 像素,张数范围为 1–1,000,000。这些是计算器的输入限制。

试用常见示例

像素数据计算结果

所有纹理合计

16 MiB

16,777,216 字节

0.015625 GiB · 16.777216 MB · 0.016777 GB

基础层级
16,777,216 字节 · 16 MiB
额外 mip 层级
0 字节 · 0 MiB
每张纹理的层级数
1
mipmap 额外开销
0%

基础层级公式

1,024 × 1,024 × 4 × 4 = 16,777,216 字节

合计 = 逐级计算并相加:宽 × 高 × 每像素字节数 × 纹理张数。

查看每个 mip 层级 (1)
像素数据计算结果: 所有纹理字节数
层级尺寸每张字节数所有纹理字节数
01024 × 10244,194,30416,777,216

字节数为精确值,换算后的单位最多保留 6 位小数。 二进制:MiB = 2²⁰ 字节,GiB = 2³⁰ 字节。十进制:MB = 10⁶ 字节,GB = 10⁹ 字节。

本工具只估算紧密排列的像素数据,不包含驱动开销、行填充、重复副本、渲染目标、压缩或其他 GPU 资源,也不测量已安装或可用显存。

方法与结果说明

纹理内存计算公式

未压缩二维纹理的基础层像素数据量 = 宽度 × 高度 × 每像素字节数 × 张数。RGBA8 包含四个 8 位通道,即每像素 4 字节。4 张 1024 × 1024 RGBA8 纹理合计 16,777,216 字节,恰好为 16 MiB,约为 16.78 MB。

宽高同时从 1024 增加到 2048,基础层数据量变为四倍,即 64 MiB。RGBA16F 每像素为 8 字节,RGBA32F 为 16 字节。选择某种格式只是计算该格式的数据预算,并不保证浏览器能够上传或过滤此格式。

为什么 mipmap 必须逐层计算

完整 mip 链逐次将宽高减半、向下取整,最小保持为 1,直到得到 1 × 1 层。计算器逐层累加像素数据。较大的方形纹理完整 mip 链总量接近基础层的 4/3,但这不是适用于所有形状的精确公式。

例如 8 × 1 RGBA8 纹理的各层为 8 × 1、4 × 1、2 × 1、1 × 1,合计 60 字节,基础层为 32 字节。直接乘 4/3 会低估这种细长纹理。非二次幂尺寸同样需要按照取整后的实际层级求和。

二进制与十进制单位如何比较

1 MiB = 1,048,576 字节,1 GiB = 1,073,741,824 字节;1 MB = 1,000,000 字节,1 GB = 1,000,000,000 字节。比较不同工具时,优先核对字节总量,避免只看单位名称。

宽、高和张数需要为界面所示范围内的整数。不合法输入会显示原因,不会悄悄截断或改成别的数值。即使预算很大,也只进行数学运算,不会实际分配对应纹理。

像素数据预算不等于实际显存占用

结果不包含驱动对齐、平铺、浏览器副本、帧缓冲、多重采样及其他应用资源。共享内存设备可能把资源放在系统内存中。计算结果不测量剩余显存,也不保证对应资源能够分配成功。

当前支持列出的未压缩二维格式与可选完整 mip 链,不估算 BC/ASTC 压缩块、立方体贴图、三维纹理或整款游戏的总需求。可下载计算记录保留假设;首页 RGBA8 负载的估算说明见测试方法。

技术参考

继续检查

GPU 纹理渲染测试