UE5 显存 虚拟内存 深入学习笔记

把它们理解成三层"放数据的地方":

复制代码
显存 VRAM:GPU 自己用的高速内存
内存 RAM:CPU 主要用的高速内存
虚拟内存 Virtual Memory:操作系统给程序看的"假大地址空间"
  • VRAM(Video RAM) = 显存(物理硬件)。它是焊在显卡电路板上的实体存储芯片,专门用来存放图像、纹理和GPU计算数据。

  • 虚拟内存(Virtual Memory) = 虚拟内存 (系统功能)。它是操作系统利用硬盘(SSD/机械硬盘)上的一块空间,模拟出来的"内存"。当你的物理内存(RAM)不够用时,系统会把暂时不用的数据挪到硬盘上,以此欺骗程序让它以为还有内存可用。

显存

显存就是 GPU 上的内存,主要放:

复制代码
贴图
RenderTarget
Mesh buffer
骨骼/粒子 buffer
阴影图
后处理 buffer

如 Unreal 里一张 4096x4096 RGBA16F RT,大概就是:

复制代码
4096 * 4096 * 8 bytes ≈ 128 MB

这类资源通常会占显存。

显存不够时,GPU 可能要把资源换到系统内存,或者频繁搬运,表现就是:

复制代码
卡顿
掉帧
贴图糊
GPU wait
甚至崩溃

虚拟内存

  • 虚拟内存(Virtual Memory) = 虚拟内存 (系统功能)。它是操作系统利用硬盘(SSD/机械硬盘)上的一块空间,模拟出来的"内存"。当你的物理内存(RAM)不够用时,系统会把暂时不用的数据挪到其他映射地址上,比如说:硬盘上,以此欺骗程序让它以为还有内存可用。

程序看到的是:

复制代码
我有一大片连续地址可以用

但真实背后可能对应:

复制代码
物理内存 RAM
硬盘上的 page file
还没真正分配的地址
映射文件
显存映射地址

所以"虚拟内存"有两个常见含义:

复制代码
1. 虚拟地址空间:程序看到的地址范围
2. 页面文件 pagefile:内存不够时,把一部分数据临时放到硬盘

在 Unreal 里:

复制代码
贴图/RT/Buffer 太多 -> 显存压力
资产/编辑器/CPU 数据太多 -> 内存压力
内存爆了开始 pagefile -> 虚拟内存/提交大小压力

显存不够 和带宽不够是两个不同问题,但它们会互相影响。

显存不够说的是容量:

复制代码
你的 GPU 只有 8GB VRAM
但场景资源需要 10GB

这叫容量不够。

表现可能是:

复制代码
贴图被降级
资源频繁换入换出
卡顿
加载慢
爆显存崩溃

带宽不够说的是传输速度:

复制代码
显存容量够
但 GPU 每秒读写的数据太多
显存来不及喂给 GPU

这叫带宽不够。

显存带宽(VRAM Bandwidth)------真正的"显存速度"

这是指显卡核心(GPU) 和板载显存(VRAM芯片) 之间的数据交换速率,单位是 GB/s(如 RTX 4090 约 1008 GB/s)。

  • 它是双向的:不仅包括把数据"上传"(写入)到显存,还包括GPU从显存中"读取"数据(比如读取纹理、模型权重)。它决定了显卡自身能多快处理海量数据。

如何查看GPU显存容量呢?

复制代码
磁盘/资源文件
-> CPU 内存 RAM
-> 上传到 GPU 显存 VRAM
-> GPU 从显存里高速读取

比如一张贴图:

复制代码
硬盘上的 PNG / uasset
-> 加载到系统内存
-> RHI 上传到显存
-> 材质采样时 GPU 读显存

所以渲染时真正高频读取的是:

复制代码
显存 VRAM

上传阶段会从内存拷到显存

资源刚加载时:

复制代码
RAM -> VRAM

这时候显卡确实会读系统内存里的数据,把它搬到显存。

VRAM 就是显存。

相关推荐
Century_Dragon3 分钟前
让新能源故障诊断实训“触手可及“——仿真教学软件(VR)介绍
学习
江屿风18 分钟前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
楚山之石1 小时前
【Radiology】影像组学的标准化与可重复性:IBSI 卷积滤波器共识及其未能覆盖的环节
人工智能·学习·机器学习·mri
小李不想当小白2 小时前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
旖旎夜光3 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
旖旎夜光4 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
叼烟扛炮9 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮13 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.14 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习
蒸蒸yyyyzwd16 小时前
关于 AI 开发相关的一些面经。
笔记·学习