这个问题本人曾经碰到过,众所周知系统IO是最耗CPU的,当时我用下面的办法将输出性能提高了很多倍,也省去了创建时屏幕闪个不停的烦恼
将所有要动态创建的控件放在一个容器上,如PanelContainer,创建时先将它隐藏,等所有的都创建完后再显示,如:
......
PanelContrainer.Visible := False;
//开始创建所有对象
panel.Create(PanelContrainer);
Panel.Parent := PanelContrainer;
panel.xxx := XXX;
...... //继续创建
PanelContrainer.Visible := True;
......