ege娘吧 关注:794贴子:3,183
  • 12回复贴,共1

做了个动画输出的程序,运行一会儿就会卡住,怎么回事?

只看楼主收藏回复

苦逼的北邮学生,用ege做了个银行的排队模拟系统的动画输出版,结果运行时过一会儿就会卡住,然后一会就好了,但很快就又卡了。
我觉的可能是putimage的缘故,因为用cleardevice时会闪屏,所以我没用这个函数,直接循环putimage盖图,会不会因为putimage太多,导致程序卡掉?
顺便问下,为啥用cleardevice会闪屏?
下面上贴图的代码


1楼2013-06-15 14:27回复
    for( ;winquit!=1||(currentnum<=nummax)||(currentVnum<=Vnummax); Sleep(60))
    { initialbutton();//初识按钮信息
    updateimage(inputnum);//更新按钮信息
    getimage(background, "pictures\\界面\\背景.png");
    setimages(buttonimg);//将所有图标都贴到backgroud这张图上,大概有30张图标
    putimage(0, 0, background);//将backgroud贴出来
    下面还有30行贴文字的代码,应该不至于导致卡吧
    outtextxy(1170, 40, winwholeinfostr1);都是类似与这样的贴文字的代码,一次也就20个字左右

    for循环条件只要没操作让它结束就一直为真。后面的sleep函数也是怕贴图贴太多太快导致卡,所以让循环休息一下。
    但问题是这样运行起来还是卡,已经没有别的地方在贴图了。对了,这是个单独的贴图线程
    还有个可能的问题是我的全部程序中线程太多(15个左右),导致贴图线程没得到时间片时图片就无法更新了,导致图片卡住。这是我猜想的,不知道是不是
    求大神解答!!!


    2楼2013-06-15 14:40
    回复
      不可以用Sleep,只能用delay_fps, delay,或者其它ege提供的函数


      3楼2013-06-16 18:30
      收起回复
        同时北邮学生,求问 你用的什么IDE???


        4楼2014-09-23 22:25
        收起回复
          求问 你用的什么ide


          5楼2014-09-23 22:32
          收起回复


            来自Android客户端7楼2014-10-14 06:52
            回复