Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢?

您所在的位置:网站首页 如何查看手机显存 Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢?

Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢?

2024-03-24 17:04| 来源: 网络整理| 查看: 265

目前移动GPU架构通常也有GMEM(GPU 内存),虽然很小,只有1M,而且通常是复杂的场景中才会调用,简单场景下是不走GMEM的,即大部分场景下是共享RAM。

CPU与GPU共用RAM,但不总是共用Buffer。如果调用Map函数,此时才会GPU与CPU共用Buffer,map函数是很快的,远小于1ms。

尽管共用RAM,但仍然存在2次传输。也会受限于CPU频率与AXI总线带宽。

CPU->GPU: GPU通过AXI bus读取textures(比如这个1080P的buffer),shaders等;GPU->CPU: GPU渲染后直接写回DDR,这个buffer称为FrameBuffer;

glTexImage2D上传纹理和CPU频率关系较大。我在865平台验证glTexImage2D时,频率调高与正常模式下差距非常大,720P的时间分别为3ms与40ms。glTexImage2D ( GL_TEXTURE_2D, 0, GL_R8, width, height, 0, GL_RED, GL_UNSIGNED_BYTE, buf_y );

可以将CPU频率调高验证一下,但题主使用了PBO,可能一定程度上减小了CPU频率的影响。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3