|
5
|
| jpfollenius Rob Kennedy · 技术社区 · 16 年前 |
|
|
1
5
IMO如果图形用户界面更新是瓶颈(即使beginupdate/endupdate如@the_Fox建议的那样使用),那么是时候重新考虑使用的图形用户界面控件了。标准网格、树视图、列表框并不是简单地为处理大量项目而切割的。为了实现这一目标,有许多性能良好的第三方控制,包括免费控制和商业控制。 对于初学者,如果瓶颈位于网格、树视图或列表框上下文中,请签出virtualTreeView。 |
|
|
2
5
当填充网格、列表、数据集等时,调用beginupdate/endupdate disablecontrols/enableControls。这会节省你的时间。我也有一个执行一些计算的线程,但是GUI很慢,直到我在正在修改的数据集上调用了DisableControls,因为控件在另一个选项卡上而不可见。 此外,在更新控件时,请准备好所需的所有数据,这样您就可以填写列表,而不必进行计算,这样可以降低速度。 |
|
|
3
4
在您的案例中,application.processmessages有什么问题?application.processmessages方法完全适用于这种情况。application.processMessages的问题是如下代码:
这很糟糕,因为它是无用的CPU负载,应该替换为
它为其他线程提供处理器时间。单个application.processmessages调用(不在循环中)正常。 |
|
|
4
1
看一看 ActiveSleep . |
|
|
5
1
如果只想处理paint消息,而不想处理其他任何消息:请使用以下内容而不是application.process messages:
|
|
|
6
-2
你试用过印地的防冻成分了吗? |
|
zeus · 如何在调整数组大小后保持指向动态数组的指针有效? 1 年前 |
|
|
SignalOne · 德尔福(FMX)循环参考 1 年前 |
|
|
Sascha Ott · 如何从线程调用线程的方法? 1 年前 |
|
|
user1580348 · 问题:如何在上次最小化后还原应用程序? 1 年前 |
|
tua · Delphi的TLinkLabel坏了吗? 2 年前 |
|
|
Frank.Wu · delphi:RGB到HSL不正确 2 年前 |