tempad
ReadyGo!技术成就梦想 >>ASP.NET技术 >> 请能为我优化一下!!!!

请能为我优化一下!!!!

ReadyGo!技术成就梦想 网络搜索 efish 2008-1-16 1:35:41

请能为我优化一下!!!!

楼主dycdyc123(重出江湖)2001-09-02 20:44:06 在 C++ Builder / 基础类 提问

void   __fastcall   SoundMath::DrawWaveShape(TLineSeries   *Series1,TStringGrid   *StringGrid1,int   channel_1)  
  {  
          TColor   Color=clBlue;  
        Series1->Clear();  
        if(channel_1==1)  
        {  
                for(int   i=1;i<=StringGrid1->RowCount-2;i++)  
            for(int   j=1;j<=StringGrid1->ColCount-1;j++)  
            Series1->AddXY(i*(StringGrid1->RowCount)+j,StrToFloat(StringGrid1->Cells),"",Color);  
   
        }  
        else  
        {  
                    for(int   i=1;i<=StringGrid1->RowCount-2;i++)  
            for(int   j=1;j<=StringGrid1->ColCount-1;j+=2)  
            Series1->AddXY(i*(StringGrid1->RowCount)+j,StrToFloat(StringGrid1->Cells),"",Color);  
        }  
  }  
   
   
  以上代码在调用时,运行需要较长时间,   请能为我优化一下!!!!  
   
  谢谢!!!(其中的StringGrid1中有近25000个数) 问题点数:20、回复次数:10Top

1 楼whitelion(www.ccproj.com)回复于 2001-09-02 21:44:59 得分 0

看后面的兄弟吧Top

2 楼wangledong(雪山之鹰)回复于 2001-09-02 23:27:00 得分 5

你为什么要把数据都存到StringGrid中呢?你过你用数组应该快许多,这样你可以去掉好多多余的操作啊!你试试看吧!Top

3 楼Wingsun(孙春阳)回复于 2001-09-02 23:35:22 得分 5

啊!你的数据太多了吧!而且这样的循环太恐怖了,能不能换一换呢?Top

4 楼songhtao(三十年孤独)回复于 2001-09-03 04:34:07 得分 5

先在内存操作,最后在StringGrid中一次显示因为,StringGrid的显示速度太慢,一次显示可以使性能提高100倍以上。Top

5 楼Ton2000(小顽童XP)回复于 2001-09-03 09:00:31 得分 5

你这样弄每加一次都要刷新太慢了,你应该在加数据时禁止StringGrid刷新才行!Top

6 楼dycdyc123(重出江湖)回复于 2001-09-03 09:26:38 得分 0

能不能换一换呢?    
   
   
  怎莫换???  
   
  请教!!!Top

7 楼dycdyc123(重出江湖)回复于 2001-09-03 09:31:59 得分 0

而且,   StringGrid1   中的数据本身就处于内存中,,   ...  
   
   
  我怎摸才能禁止StringGrid刷新?????,,,,,  
   
   
  这样是不是最好的办法???  
   
   
  Top

8 楼wjzhuang(程序猪)回复于 2001-09-03 09:55:16 得分 0

25000   +   双重循环   =   可怕~~~~~~~~~  
   
  代码看起来没什么好修改的  
   
  考虑一下换别的方式实现吧,否则不会有很大的改变的Top

9 楼coolsnake_pp(三藏)回复于 2001-09-03 10:08:38 得分 0

同意楼上Top

10 楼dycdyc123(重出江湖)回复于 2001-09-03 10:45:59 得分 0

OK!  
   
   
  I   look   for   a   bit!!!!  
   
   
   
  Change   the   StrToFloat(..)   to   StrToInt(..)  
   
   
  That   maybe   GooDTop

责任编辑: efish 参与评论 查找更多:
相关文章
菜菜菜菜鸟关于内存一小问! 菜菜菜菜鸟关于内存一小问!
怎样使微软的IE不能用,一直用自己的浏览器,我用PC… 怎样使微软的IE不能用,一直用自己的浏览器,我用PC Security软件都不能锁住IE?
谁能解决win2000的花屏现象???? 谁能解决win2000的花屏现象????
Help! 数据库中记录的求和? Help! 数据库中记录的求和?
函数调用出错!帮帮忙! 函数调用出错!帮帮忙!
那位用過金山的WPS office 說說感想, 我看它有點像M… 那位用過金山的WPS office 說說感想, 我看它有點像MS office 的翻版
请问Dreamweaver4的KEY? 请问Dreamweaver4的KEY?
win2000的机器,用过一段时间后,发现有花屏现象?怎… win2000的机器,用过一段时间后,发现有花屏现象?怎样解决?
Dreamweaver4的KEY是?请教 Dreamweaver4的KEY是?请教
语音处理方法,高手来探讨 语音处理方法,高手来探讨
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想