以前玩过directdraw ,做了一个800X600全画面,帧率奇慢。
简直怀疑directdraw 的缓冲区概念如下
在内存缓冲区里做好了一帧画面,然后通过总线把整幅画面从内存“硬”拷贝到显存上。然后再输出。中间的拷贝多此一举。
我能否直接在显存里写内容,即时表现到屏幕。
简直怀疑directdraw 的缓冲区概念如下
在内存缓冲区里做好了一帧画面,然后通过总线把整幅画面从内存“硬”拷贝到显存上。然后再输出。中间的拷贝多此一举。
我能否直接在显存里写内容,即时表现到屏幕。
引用第6楼小俊于2010-10-29 09:42发表的 :
先查得显卡的PCI bus ID和Device ID,获得其BAR地址。BAR1即为frame buffer所在。然后通过设备驱动程序的方法映射到线性地址后即可访问。
顺便讲一句,DDraw和D3D都是直接绘图到显存,不存在先画到主存的问题。
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。