第一种,就是framebuffer
CPU搞一块内存名叫Framebuffer,里面放上要伍啪怪顼显示的东西,显卡有个部件叫DIsplayController会扫描那块内存,然后把内容显示到屏幕上。至于具体如何配置成功的,Longstory,这里不细说了。
第二种,DMA
DMA懂吧?就是硬件设备直接从内存取数据,当然需要软件先配置,这就是graphicsdriver的活儿。在显卡驱动里,DMA还有个专用的名字叫Blit。
第三种,内存共享
Intel的平台,显存和内存本质都是主存。区别是CPU用的需要MMU映射,GPU用的需要GPU的MMU叫做GTT映射。所以共享内存的方法很简单,把同一个物理页既填到MMU页表里,也填到GTT页表里。具体细节和原理,依照每个人的基础不同,需要看的文档不同。