高分求解!关于程序脱离VS后运行速度慢的有关问题

高分求解!关于程序脱离VS后运行速度慢的问题
做了一个触摸屏的图标滚动的界面模块(基于PC的),使用 GDI+ 进行绘图,独立编译成 DLL。
同一工程下建立了一个测试用的程序

在VS2005下,按下“启动调试”按钮运行后,界面图标滚动时运行流畅(无论是 DEBUG 或 RELEASE 下)
图标滚动时CPU占用只有14%左右

但如果在文件夹下直接运行该程序的话,界面图标滚动时则非常“卡”
看过任务栏管理器中的数据,内存增加到一定量后不会在递增、GDI对象也维持不变,即内存泄露的可能性不大
但滚动图标时的CPU占用去到25%了


但如果将 GDI+ 绘制图标的代码注释掉,其它保持不变,那么无论是VS启动调试或在文件夹下直接运行,那么速度是一样的
调用GDI+绘图的代码就只有几行:
C/C++ code
void CRollPanelWnd::DrawImage(CDC *pDC, Image *pImg, const RECT &rect, BOOL bDefaultSize)
{
    if (pImg == NULL || pImg->GetLastStatus() != Ok)
        return;

    int cx = rect.right - rect.left;
    int cy = rect.bottom - rect.top;
    if (bDefaultSize)
    {
        cx = (int)pImg->GetWidth();
        cy = (int)pImg->GetHeight();
    }

    Graphics graphics(pDC->m_hDC);
    graphics.DrawImage(pImg, rect.left, rect.top, cx, cy);
}


pImg 是从按钮图标被创建起一直到按钮被删除都会一直保存的


究竟是什么原因?是 gdi+ 的库问题吗?还是 VS2005 的问题?最后还是不是我自己的问题?

------解决方案--------------------
这个只能自己测试了,你可以先不用编绎成DLL通过其它程序来调用,直接编成一个程序试试,另外,看一下编绎选项,改变优化选项试试,等找出原因后再编绎成DLL
------解决方案--------------------
这个应该和GDI+没有关系,在其他机子上也会么
------解决方案--------------------
要不用TextureBrush看看
TextureBrush myBrush(bmp);
graphics.FillRectangle

这个效率比那个DrawImage高很多。尝试下吧
------解决方案--------------------
是不是在不停的DrawImage啊
调试的时候可能2秒画一次

直接启动的时候就一秒画好几次了
------解决方案--------------------
最好上下调用CRollPanelWnd::DrawImage代码的地方和完整函数。

感觉那里有问题哦
------解决方案--------------------
用程序测试看看。。换一个程序测试看看!!
------解决方案--------------------
是不是GDI+加载库的时间问题,开始有没有加载
------解决方案--------------------
来学习学习.....
------解决方案--------------------
把工程打包传上来, 大家来试试

可以加些日志或dbgstring, 记录看哪个函数耗时多