DirectDraw画1920*1080位图,内存资源急剧耗尽,程序崩溃。
最近在使用directdraw来画高清格式的大图片,由于之前没有用过directdraw,所以对其用法也不甚了解。根据directdraw流程来画图。初始化,创建directdraw对象,设定控制级,创建主表面,创建离屏表面,GetDC()得到DC,然后将pData数据拷贝到离屏DC上,完了之后就ReleaseDC()释放离屏DC,将离屏图案blt到主表面,最后释放所有对象和表面。
可能是内存占用比较多,在线程中调用该绘制函数,几秒钟以后内存就急剧增加,直至崩溃。查看后也没有怎么发现内存泄露,使用的是内存池。
网络上说可能是DC没有释放,可是我已经ReleaseDC了。离屏表面的返回值也是正确的,说明释放完毕。
现在一直没有好的办法,如果有经历过directdraw的朋友,可以告诉我该怎么搞,先谢了。