什么是GPU?
图形处理单元(GPU)是一种专门设计的处理器,用于并行执行许多计算,最初用于渲染图像、视频和3D图形。GPU 现在还可以加速其他高度并行的工作负载,包括机器学习、科学模拟和视频编码。
在游戏或实时3D应用中, GPU处理场景数据以生成玩家看到的像素,每秒渲染图像数十次。
GPU的工作原理是什么?
GPU的速度优势来自于并行处理。GPU不是依靠少量强大的CPU核心按顺序处理任务,而是将大型工作负载分解成许多可以并行处理的较小操作。
GPU与CPU协同工作,CPU 负责处理游戏逻辑等任务,并向GPU发送指令以进行图形处理和其他并行工作负载。有关这两个处理器的详细对比分析,请参见CPU对比GPU 。
GPU依赖于几个关键组件和软件层:
- 核心:能够并行执行多个操作的处理单位。它们的架构和命名因GPU制造商而异,例如NVIDIA GPU 上的 CUDA 核心和 AMD GPU 上的流处理器。
- Video内存(VRAM) :专用的高带宽内存,用于存储纹理、网格、帧数据和其他靠近GPU 的资源。集成显卡通常共享系统内存。
- 着色器:在GPU上运行的程序,用于执行诸如定位顶点、计算像素颜色和处理通用工作负载等任务,包括由计算着色器处理的任务。
- 驱动程序和图形 API :允许应用程序与GPU通信的软件层。DirectX、 Vulkan、 金属和 OpenGL 等 API 提供发出图形命令的接口,而驱动程序则将这些命令转换为适用于指定的GPU硬件的格式。
GPU渲染一帧时会发生什么?
渲染单帧图像遵循图形管线,它是一系列将3D场景数据转换为2D图像的阶段:
- Submit:CPU发送绘制调用,指定要使用的网格、材质和渲染设置。
- 处理顶点:顶点着色器将每个网格的顶点从3D场景空间转换为用于渲染图像的位置。
- 栅格化:GPU将生成的三角形转换成与屏幕上潜在像素相对应的片段。
- 阴影像素:片段着色器利用纹理、光照和材质等信息计算每个片段的颜色。
- 输出:生成的图像被写入帧缓冲区并显示在显示器上。
GPU有哪些类型?
根据GPU的位置、访问内存的方式以及计算资源的交付方式,GPU可以分为三种常见类型:
集成显卡与CPU共享系统资源,这通常使它们更节能,更适合空间或功率有限的设备。
离散显卡拥有自己的处理硬件和专用内存,能够提供更高的图形和计算性能,但代价是更高的功耗和发热量。
虚拟 GPU 可远程提供GPU计算资源,使应用程序能够使用托管在数据中心而不是本地设备上的GPU硬件。
GPU和显卡有什么区别?
GPU和显卡这两个术语经常被混用,但它们指的是不同的东西:
每张显卡都包含一个GPU,但并非每个GPU都位于显卡上。集成显卡与CPU集成在同一芯片或封装中,共享系统资源,而不是使用单独的显卡。
GPU是用来做什么的?
只要工作负载包含许多可以并行执行的计算,就会使用GPU:
- 游戏和实时3D :为手机、PC、游戏机和其他设备上的游戏和互动体验渲染帧。
- VR和AR :渲染沉浸式视图并保持舒适体验所需的高、稳定的帧速率,尤其是在VR中。
- 人工智能和机器学习:加速机器学习模型的训练和推理,其中涉及大量并行数学运算。
- Video和内容创作:加速创意应用程序中的视频编码、渲染、视觉效果和GPU加速工作流程。
- 仿真和数字孪生:运行物理、粒子、光照和其他计算模拟,用于工程、汽车和工业可视化。
- 网页图形:使用WebGL等 API,启用浏览器能够利用GPU加速渲染交互式2D和3D图形。
GPU和Unity
在Unity中, GPU根据活动的通用渲染管线 (URP)或高定义管线 (HDRP)配置来渲染帧。GPU使用情况性能分析器模块显示帧的不同部分占用多少GPU时间,帮助开发人员识别渲染瓶颈。GPU驻留式绘图器利用GPU 实例化来减少渲染大量对象时的绘制调用和CPU开销。
常见问题解答 (FAQ)
游戏受GPU限制意味着什么?
当GPU渲染一帧所需的时间比CPU准备该帧所需的时间长时,该游戏就属于GPU瓶颈。高分辨率、复杂着色器和过度绘制等渲染需求会增加GPU帧时间并限制帧速率。分析有助于确定瓶颈是CPU还是GPU ,Unity 的GPU使用管理指南涵盖了常见的优化技术。
电脑没有GPU)能运行吗?
计算机可以不配备专用GPU运行,但大多数显示图形的计算机都使用集成显卡或独立GPU。有些服务器无需配备GPU,因为它们不需要渲染图形,软件渲染可以使用CPU来生成图像。然而,对于要求苛刻的实时3D图形,基于CPU 的渲染通常不如GPU加速高效。
什么是GPU基准测试?
GPU基准测试是一种使用帧速率、帧时间或综合得分等指标来衡量图形或计算性能的测试。合成基准测试运行标准化的工作负载来比较 GPU,而实际基准测试则衡量实际游戏或应用程序中的性能。结果可能因分辨率、图形设置、驱动程序和指定的工作负载而异。