整张大地图需要分割吗?
在内存足够容纳整张大地图的情况下,剩下的大概主要是绘图效率问题。所以我想知道:
如果要在屏幕上绘出一张大图的一小部分,那么DirectDraw或D3D的绘图操作采用哪种方式实现?
1、先在内存中填充整张大图,然后将要显示的区域部分翻转到前台显示缓存
2、根据命令参数只在内存中填充大图中要显示区域部分的数据,然后将它们翻转到前台显示缓存
显然,如果是方式1,那么每次绘整张大图很费时,有必要分割显示。而如果是方式2,绘图与图大小无关,内存足够时图片分割岂不是多此一举?
ddraw或者d3d是根据的你的命令来做这个操作的,
你加载的图多大就是多大,你让它翻转它就翻转
他们不会自己来处理
D3D也好,DDRAW
建立一个和图形大小一直的off-screen,把图片填充在这里
然后建立一个和屏幕等大小的后台缓冲,把每次要显示的内容从图上copy到这里,然后flip
也可以不建立这个后台,直接copy到前台