BitBlt函数效率受哪些因素的影响
创建了两个与指定设备兼容的内存设备上下文环境hdc1和hdc2,
win ce 6.0, bitblt(hdc1到 hdc2,width = 1024, height = 768)
系统启动后第一次启动程序时,耗时30MS左右,第二次启动程序,耗时170ms左右,
不明白是什么造成了这么大的差异。
望大家不吝赐教。
[解决办法]
系统启动后第一次启动程序时,耗时30MS左右,第二次启动程序,耗时170ms左右。
你这并不能说明什么,程序启动时间与系统当时环境有关。
bitblt里面用到了gdi资源,所以他也与系统gdi资源的使用情况相关。
你的图片很大,画起来肯定很慢。
你可以这么做,在程序启动时LoadBitmap,
在OnPaint中draw。
[解决办法]
看你当时系统忙不忙了
[解决办法]
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
[解决办法]
注意资源泄漏与运行时的环境差别。如果仅运行你写的这个程序每次都增加启动时间,你程序铁定有内存泄漏。
[解决办法]
废话太多。
这个和绘制Bitmap的面积有关。