刚刚做完测试, 简单的全屏Flip和BltFast,嗯...
感觉又找回来了。自从上年国庆过后就没有碰DX,跑去研究SPI了。
那时候做了个跟Permeo Secure Driver 差不多的东西,代理的是HTTP Connect而不是SOCKS,用来过滤学校代理出国外网的IP地址和玩网游。
扯远了。刚回来看了一下,好像页面查看人数多了3。。难道有人来过?还是我自己刷的呢?……
不管了,还是先记下问题,迟些去csdn问问,ogdev的论坛这几天太冷清了不知道是不是过年都不上bbs了。
问题列表:
1.什么时机判断页面是否丢失?
2.当主页面丢失的时候,是否需要判断其他页面是否也丢失然后再去ReloadBitmap?
3.如果不建立Clipper,Blt的区域超出目标页面大小的时候是否真的会出现内存访问错误?
4.好像还有...刚才洗澡想到好多的……忘了
对于问题1,在GoldenPoint圣剑2的源程序里面,好像是在Flip有个判断
ddrval = lpDDSPrimary->Flip( NULL, 0 );
if( ddrval == DD_OK )
{
break;
}
if( ddrval == DDERR_SURFACELOST )
对于问题2,要每次对页面的Blt操作都判断返回是否DDERR_SURFACELOST 吗?
对于问题3,待会试一下就知道了。。。。现在玩一盘魔兽3C先……
问题3的测试结果:是没什么发生的。跟有建立裁剪器的时候表现完全一样 -_-
新的问题来了,假如想去掉两种颜色Blt,应该怎样写呢?
试过 DDBLTFAST_SRCCOLORKEY +, |, & DDBLTFAST_DESTCOLORKEY
结果都是不行的。
如果直接用DestColorKey,结果更是什么都看不到 。这个问题要研究研究。。。