我正在使用Delphi XE2和更新4修补程序1
我的默认FMX应用程序表示非常缓慢,并且在事件发生时它会冻结一段时间.例如:当我点击一个按钮时,整个应用程序会冻结几秒钟(但仅限于该事件的第一次执行).所以我认为它可能是一个GPU问题并编辑我的默认Dpr文件为;
uses
FMX.Forms, fmx.Types,..
{$R *.res}
begin
Application.Initialize;
GlobalUseHWEffects := False ;
GlobalUseDirect2D := False ;
GlobalUseDirect2DSoftware := False ;
GlobalUseGDIPlusClearType := True ;
GlobalDisableFocusEffect := True ;
Application.CreateForm(...);
Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)
现在它按预期工作没有任何问题,但CPU使用率与之前一样(移动鼠标时为25%)
然后我修改了我的代码
GlobalUseHWEffects := true ;
GlobalUseDirect2D := False ;
GlobalUseDirect2DSoftware := False ;
GlobalUseGDIPlusClearType := True ;
GlobalDisableFocusEffect := True ;
Run Code Online (Sandbox Code Playgroud)
现在一切顺利,只有一小段时间的节省时间和CPU使用率非常低(0 - 2%).(这就是我需要Firemonkey的原因)
现在所有控件都按预期工作,除了菜单栏,上面的设置不适用于菜单栏,它正在使用默认行为(整个应用程序冻结几秒钟).
我能做些什么才能解决这个问题.