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 就是显存。

相关推荐
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
andyweike4 小时前
php笔记
开发语言·笔记·php
鬓戈5 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
传奇开心果编程5 小时前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
xian_wwq6 小时前
【学习笔记】等保合规安全基线核查实战
笔记·学习
传奇开心果编程6 小时前
【Jetpack Compose进阶学与练】第14课:系列收尾复习总结;Compose项目常见坑点汇总;学习路线与后续学习方向
android·学习·ui·kotlin·android jetpack
yangmu32036 小时前
发动机是怎么把油变成动力的:四冲程内燃机原理拆解
学习
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(81):EMR——用情景记忆避免 Agent 在多步推理中反复绕圈
论文阅读·人工智能·学习·开源·github
海海不掉头发7 小时前
阶段五_实验34-38_学习总结
深度学习·神经网络·学习·机器学习
M78佐菲7 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习