Delphi 实时快速显示大量数据,会闪屏,怎么解决? Delphi 实时快速显示大量数据,会闪屏,怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道你是用的什么空间,如果是list的话可以使用虚拟列表。虚拟列表 对于人类来说,多快最实时。电影都是24帧/秒,游戏是30~100帧/秒,但是这个是建立在人可以预测的连续变化基础上的。如果不是可预测,非连续变化,如播放幻灯片,一般是3~5秒1帧,快的也超过1秒1帧。好,回到你的问题,为什么要实时,要看清数据的话需要1秒,你的程序只需要100ms刷新一次界面就可以了,如果是动画,10ms刷新一次就可以。大量数据?一屏能显示多少行数据?10行?100行?还是1000行?其实能显示出来的只有几十行数据,只是刷新显示的这几行是没不会有任何压力的。 TStringGrid 自画界面,600万行数据10ms刷新没有任何压力。 读大数据闪屏,是读取数据与屏幕刷新,相互争抢CPU资源造成。 application.processmessage 读大数据闪屏,是读取数据与屏幕刷新,相互争抢CPU资源造成。 如果有doublebuffer属性,设置为true试试 使用LockWindowUpdate进行锁屏操作,完成后进行解锁 闪屏的区域设置DoubleBuffered := True; 没那么复杂。ADOQuery1.DisableControls 。。ADOQuery1.EnableControls virtu list也是不错的方法 学习了 推荐用TNXGRID控件来加载数据 启用doubleBufferd;如果是表格的是先beginupdate ....... endupdate 不要立即画在屏幕上。50毫秒一次,画在内存里自建的TBitmap里。然后贴到Canvas上。 求助!Delphi用户登录+SQL2000数据库的问题! 如何取得一个控件在屏幕上的绝对坐标 如何超过字符串字面值至多255个字符的限制? DBGRID操作 求助高手用delphi6实现点对点文件传输 我的Access数据库已经有20M了,现在经常会损坏,该怎样避免这种情况? 速度咋又好慢? 知道什么是心跳马 delphi 按日期排序? 如何得到未执行完的线程数? delphi7 edit 控件不能换行 硬件唯一码问题
虚拟列表
电影都是24帧/秒,游戏是30~100帧/秒,但是这个是建立在人可以预测的连续变化基础上的。如果不是可预测,非连续变化,如播放幻灯片,一般是3~5秒1帧,快的也超过1秒1帧。好,回到你的问题,为什么要实时,要看清数据的话需要1秒,你的程序只需要100ms刷新一次界面就可以了,如果是动画,10ms刷新一次就可以。
大量数据?一屏能显示多少行数据?10行?100行?还是1000行?其实能显示出来的只有几十行数据,只是刷新显示的这几行是没不会有任何压力的。
TStringGrid 自画界面,600万行数据10ms刷新没有任何压力。
ADOQuery1.DisableControls
。。
ADOQuery1.EnableControls
50毫秒一次,画在内存里自建的TBitmap里。然后贴到Canvas上。