用一个LABEL做了个音乐波形进度的指针条,每隔200毫秒的LABEL左边距就加1的时侯CPU占用还好,每隔100毫秒就加1的话CPU占用居然去到百分之50,高得太惊人了,要100MS就+1的话有什么办法啊?

解决方案 »

  1.   

    对,手动释放内存。c#和java差不多,系统有一套自己的资源回收机制,但是不及时。
      

  2.   

    加了这句后CPU还是没降下来,我是用 System.Timers.Timer来控制时间的,去掉 labbiao.Left += 1;这句后CPU就下降了,可我就是要这条指针线啊,还有其他办法么?
      

  3.   


     public void aa()
            {
                if (weinew == 50 && panel3.HorizontalScroll.Visible)
                {
                    panel2.HorizontalScroll.Value = 0;
                }
                if (panel3.HorizontalScroll.Visible)
                {
                    if (labbiao.Left > 100)
                        panel2.HorizontalScroll.Value += 1;
                }
                hwfft1.playorstop(weinew);            foreach (Onepic onee in lop)
                {
                    onee.playorstop(weinew);
                }
                weinew += 1;
                labbiao.Left = weinew;
                // labbiao.Left += 1;
             /*   if (boone)
                {
                    labbiao.Left = weinew;
                 //   labbiao.Left += 2;
                }*/
           
                if (weinew >= maxlong)
                {
                    if (panel2.HorizontalScroll.Visible)
                    {
                        panel2.HorizontalScroll.Value = 0;
                    }
                    weinew = 0;
                    labbiao.Left = 0;
                }
               
            }就是这样一段代码,去了CPU的百分50