Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 有没有办法直接从硬盘读取到GPU_Opengl_Opengl Es_Gpu_Ram_Hard Drive - Fatal编程技术网

Opengl 有没有办法直接从硬盘读取到GPU

Opengl 有没有办法直接从硬盘读取到GPU,opengl,opengl-es,gpu,ram,hard-drive,Opengl,Opengl Es,Gpu,Ram,Hard Drive,在我的OpenGL程序中,我从头文件中读取几何尺寸,然后将一个标记数组和一个顶点数组传递给VBO,甚至可以直接从硬盘读取,还是GPU内存仅链接到计算机的RAM?GPU没有直接连接到系统RAM。中间有一条总线,在当前一代计算机中是PCI Express总线。ATA存储之间有一个控制器。记忆之间没有直接的联系 但是有DMA,它允许某些外围设备通过DMA通道直接访问系统内存。PCI Express上的DMA也可以在外围设备之间工作。理论上,GPU可以对ATA控制器进行DMA 实际上这没什么用!为什么?

在我的OpenGL程序中,我从头文件中读取几何尺寸,然后将一个标记数组和一个顶点数组传递给VBO,甚至可以直接从硬盘读取,还是GPU内存仅链接到计算机的RAM?

GPU没有直接连接到系统RAM。中间有一条总线,在当前一代计算机中是PCI Express总线。ATA存储之间有一个控制器。记忆之间没有直接的联系

但是有DMA,它允许某些外围设备通过DMA通道直接访问系统内存。PCI Express上的DMA也可以在外围设备之间工作。理论上,GPU可以对ATA控制器进行DMA

实际上这没什么用!为什么?因为文件系统。即使有某种驱动程序支持让GPU直接访问存储外围设备,它仍然必须完成所有的文件系统业务,这与GPU设计的并行程度不同


关于你的问题:

在我的OpenGL程序中,我从头文件中读取几何体大小,然后将一个标记数组和一个顶点数组传递给VBO,甚至可以直接从硬盘读取,还是GPU内存仅链接到计算机的RAM


为什么没有简单的内存映射这些文件?这样可以避免分配第一次读取的缓冲区,并将内存映射文件指针传递给OpenGL,从而允许驱动程序在存储驱动程序缓冲区和GPU之间实际执行DMA传输,这与原始请求最接近。当然,存储设备上的数据必须以适合GPU的格式准备,否则就没有什么用处了。如果需要一些预处理,最好使用CPU。GPU不喜欢序列化数据。

GPU不直接连接到系统RAM。中间有一条总线,在当前一代计算机中是PCI Express总线。ATA存储之间有一个控制器。记忆之间没有直接的联系

但是有DMA,它允许某些外围设备通过DMA通道直接访问系统内存。PCI Express上的DMA也可以在外围设备之间工作。理论上,GPU可以对ATA控制器进行DMA

实际上这没什么用!为什么?因为文件系统。即使有某种驱动程序支持让GPU直接访问存储外围设备,它仍然必须完成所有的文件系统业务,这与GPU设计的并行程度不同


关于你的问题:

在我的OpenGL程序中,我从头文件中读取几何体大小,然后将一个标记数组和一个顶点数组传递给VBO,甚至可以直接从硬盘读取,还是GPU内存仅链接到计算机的RAM


为什么没有简单的内存映射这些文件?这样可以避免分配第一次读取的缓冲区,并将内存映射文件指针传递给OpenGL,从而允许驱动程序在存储驱动程序缓冲区和GPU之间实际执行DMA传输,这与原始请求最接近。当然,存储设备上的数据必须以适合GPU的格式准备,否则就没有什么用处了。如果需要一些预处理,最好使用CPU。GPU不喜欢序列化数据。

我已经编写了一段时间的程序,仍然对我在某些方面所知甚少感到惊讶,谢谢!我已经做了一段时间的编程,但仍然对我在某些领域所知甚少感到惊讶,谢谢!