神啊,数据库的数据显示到TChart上,翻页的时候时间为何会越来越长?

mansea163 2011-11-30 07:48:20
数据库大约有65000条数据,通过AddXY()方法吧数据添加到TChart上,每次显示1000个,用户点击下一页按钮的时候,就继续向后显示下1000个数据。用两个GetTickCount相减的方法来计算每一次执行“下一页”代码的时间,可是发现这个时间越来越长,怎么回事?一开始是100ms,然后150ms,然后200ms……总之越来越长。
下面是用户点击“下一页”的代码,为了打字方便,省略了一些参数:
s1->Clear();//s1是一个TLineSeries,先清除上一次显示的数据
int counter=0;
do
{
Chart1->AddXY(ADOQuery1->FieldByName("abc")->AsFloat,ADOQuery1->FieldByName("def")->AsFloat,"",clRed);
counter++;
ADOQuery1->Next();
}
while(counter<=1000&&(!ADOQuery1->Eof))
...全文
352 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没法解决,这个问题我也碰到过。由于数据太多导致产生内存“拥挤”,一个chart中写3ooo个左右的数据正好
My_Love 2012-01-05
  • 打赏
  • 举报
回复
你可以试着往TMemo里添加5000行,再添加5000行......
延时效果也是越来越长!
mansea163 2012-01-04
  • 打赏
  • 举报
回复
最后顶起来问问
mansea163 2011-12-24
  • 打赏
  • 举报
回复
大侠们 到底是什么原因?
mansea163 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 songhtao 的回复:]
产生了内存碎片,导致性能下降。
[/Quote]
是这个原因吗?如何解决?
我不懂电脑 2011-12-01
  • 打赏
  • 举报
回复
产生了内存碎片,导致性能下降。
缘中人 2011-11-30
  • 打赏
  • 举报
回复
应该是ADOQuery1慢引起的吧

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧