Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢? |
您所在的位置:网站首页 › 如何查看手机显存 › Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢? |
目前移动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 |