博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈一谈AGP
阅读量:5740 次
发布时间:2019-06-18

本文共 1217 字,大约阅读时间需要 4 分钟。

typedef enum D3DPOOL {   D3DPOOL_DEFAULT      = 0,  D3DPOOL_MANAGED      = 1,  D3DPOOL_SYSTEMMEM    = 2,  D3DPOOL_SCRATCH      = 3,  D3DPOOL_FORCE_DWORD  = 0x7fffffff} D3DPOOL, *LPD3DPOOL;

D3DPOOL_DEFAULT

在"显存(video memory)"中,包括"本地显存(local video memory)"和"AGP内存",表明资源将按照"设备访问(Device Acess)",这里设备指显卡。

D3DPOOL_MANAGED

 

当需要时自动拷贝到显卡可直接访问的内存中(device-accessible memory),在设备丢失时不需要重建.

D3DPOOL_SYSTEMMEM

资源位于系统内存中,不能直接被设备访问.会消耗系统内存,而非可分页内存.

D3DPOOL_SCRATCH

占用系统内存,但是格式什么的都无限制.

D3DPOOL_FORCE_DWORD

凑数的,没实际用途.

 

什么是本地显存?什么是AGP内存?

本地显存是指显卡本身的内存,物理上在显卡上.AGP实际是一块特殊的系统内存区域,位于主板上.这段区域是CPU和GPU共享资源区,CPU写入快读取慢,GPU读取很快,但是没有直接读取本地显存快.

AGP如何工作?

AGP的全称是"加速图形接口Accelerated Graphics Port".专门用于电脑和显卡通讯.1996年intel把它带入公众视野,之前使用的是PCI总线(Peripheral Component Interconnect bus).PCI总线是条用于显卡向CPU传输信息的通路.但是PCI不是独占的,其他设备也使用PCI向CPU发送信息,当所有外围设备都通过PCI向CPU发信息后,就需要等候CPU一条条的执行.于是瓶颈诞生了.AGP是基于PCI设计的,但是不是一个总线,是基于点对点的GPU和CPU通讯,这就极大加速了复杂图形显示时信息传输瓶颈.

AGP是如何加速图形渲染的呢

专用的端口:显卡可以完全占用这条数据路线,解决了数据阻塞的问题.

流水线处理: AGP使GPU在接收到渲染图形的信息后,请求所有所需信息并一次性发送渲染指令.而回到PCI时代,情况会变成:显卡收到图像的高,等待...显卡收到图像的宽,等待...最后收到所有信息,发送渲染指令.

边带寻址: 发送信息需要From和To,PCI是把这个信息同工作数据打包在一起.为了辨明这个信息,就需要拆包解析,进而导致占用时间和空间.AGP会为每个工作数据包加上明确的寻址信息.省去了PCI需要消耗的时间.

 

转载于:https://www.cnblogs.com/Baesky/p/AGP_THEROY.html

你可能感兴趣的文章
[Unity3d]Shader 着色器 学习前了解知识
查看>>
Redrain duilib中事件委托存在的问题
查看>>
字符串的简单操作
查看>>
C#新功能--命名参数与可选参数
查看>>
strtok和strtok_r
查看>>
维辰超市:借助云商城成功转型新零售
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
【算法】CRF
查看>>
windows 8 微软拼音输入法
查看>>
Windows UI风格的设计(7)
查看>>
SQL中使用WITH AS提高性能 使用公用表表达式(CTE)简化嵌套SQL
查看>>
oracle 强行杀掉一个用户连接
查看>>
Git提交本地库代码到远程服务器的操作
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
LR录制脚本时IE打不开的原因
查看>>
微博自动化测试
查看>>
Sublime Text 2.0.2,Build 2221注册码
查看>>
js scroll事件
查看>>
最长递增子序列 动态规划
查看>>