我现在做的一个程序,请了美工做了些界面图片,我现在的做法是:添加picture,properties中type选择bitmap, 然后通过image,选择要加载图片的名称.全部加载完后运行程序发现cpu占用率特别的高(是原来4倍).请问有什么好点的办法?

解决方案 »

  1.   

    用BCG的库 效果很酷的 而且有源码 http://www.bcgsoft.com/bcgcontrolbarpro.htm去下载一个安装一下 就能用里面很多东西了。
      

  2.   

    你可以用这些函数,试试调整帖速;
    //获得豪秒
    float ENd3d::getGetTickCount(float delay)
    {
    delay=GetTickCount();//获得豪秒
    return delay;
    }//获取帖速
    float ENd3d::getFrameSpeed(float delay)
    {
    return GetTickCount() - delay;
    }
    //控制帖速
    int ENd3d::setFrameSpeed(float delay,float speed)
    {
    int difftm = GetTickCount() - delay;
    if(difftm < speed)
    {
    ::Sleep(speed - difftm);//主动放弃CPU使用时间
    return 0;//帖速不合符要求
    }
    return 1;//帖速合符要求
    }
      

  3.   

    http://download.csdn.net/source/1065900
    http://download.csdn.net/source/948106
    这些是做界面的,不过,我感觉,你的应该是不停刷新贴图问题,建议你查一下源码!
      

  4.   

    只有在绘制界面时才会占用CPU,不需要时别刷新界面。
      

  5.   

    装载image代码不要放在OnPaint里面,用类成员变量,一次装载就行。显示图片时不要进行缩放。所有可以提前计算的值,或者可以由上次计算得到的值,不要放在 OnPaint里计算。