Memory 浏览器GPU内存使用如何工作?

Memory 浏览器GPU内存使用如何工作?,memory,memory-management,gpu,Memory,Memory Management,Gpu,通过按F12键,然后在Chrome上按Esc键,您可以看到一些要勾选的选项。其中之一是showfps表,它允许我们实时查看GPU内存使用情况。 关于此GPU内存使用,我有几个问题: 这个GPU内存意味着网页需要存储代码的内存:变量、方法、图像、缓存的视频等。这是正确的吗 它的上限为512MB,有什么原因吗?有没有办法减少或增加它 多少GPU内存使用量足以让浏览器导航速度大幅下降 如果我有一个包含数百万个元素的数组(只是假设),我拼接了数组中的所有元素,它会释放正在使用的内存吗?或者它不会“真的”

通过按F12键,然后在Chrome上按Esc键,您可以看到一些要勾选的选项。其中之一是showfps表,它允许我们实时查看GPU内存使用情况。 关于此GPU内存使用,我有几个问题:

  • 这个GPU内存意味着网页需要存储代码的内存:变量、方法、图像、缓存的视频等。这是正确的吗
  • 它的上限为512MB,有什么原因吗?有没有办法减少或增加它
  • 多少GPU内存使用量足以让浏览器导航速度大幅下降
  • 如果我有一个包含数百万个元素的数组(只是假设),我拼接了数组中的所有元素,它会释放正在使用的内存吗?或者它不会“真的”释放内存,需要额外的步骤来实际清除它
  • 一,。GPU内存中存储了什么

    虽然没有关于可存储在GPU内存中的数据类型的硬设置规则,但大部分GPU内存通常包含单帧资源(如纹理)、多帧资源(如顶点缓冲区和索引缓冲区数据)以及可编程着色器编译代码片段。因此,虽然在理论上可以将视频存储在GPU内存中,以及所有其他批量数据,但在实践中,对于每个流式视频,GPU ram中只有一组帧

    软选择类似纹理的数据集的主要原因是GPU是一种并行硬件体系结构,它期望数据与该原理兼容,这意味着数据集(即像素)之间没有相互依赖关系。从视频流解码图像或多或少与解决数据块之间的相互依赖性相同

    二,。512MB对每个人都足够吗

    不,可能是基于你的硬件

    三,。GPU内存何时变慢

    你必须知道,GPU内存的某些部分是如此之快,以至于你甚至不能开始欣赏它的速度。GPU卡的速度没有问题。重要的是首先在内存中获取数据所需的时间。这称为带宽,操作通常需要同步。在这种情况下,驱动程序将锁定Northbridge总线,以便数据可以从主内存流入GPU内存,而这种锁定+传输需要相当长的时间

    因此,为了回答这个问题,一旦上传,GUI将保持快速,无论GPU卡上使用了多少内存。唯一能让它慢下来的是对GUI的更改,以及其他需要时间才能完成的GPU进程,这些进程可能会干扰渲染操作

    四,。拼接ram内存可以释放内存吗

    我不太清楚你说的拼接是什么意思。GPU内存由使用API调用释放内存的应用程序释放。如果您希望将GPU内存呈现为空白,则必须首先获取资源的GPU句柄,将“清除”数据上载到其中,然后再次释放句柄,但是(对于普通的单线程GPU应用程序),您只能在自己的进程上下文中执行此操作