首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FireMonkey性能问题

FireMonkey性能问题
EN

Stack Overflow用户
提问于 2012-06-04 07:58:13
回答 1查看 5.2K关注 0票数 9

我使用的是Delphi XE2和更新4热修复1

我的默认FMX应用程序是非常缓慢和事件,它是冻结了一段时间。当我点击一个按钮时,整个应用程序会冻结几秒钟(但只限于该事件的第一次执行)。因此,我认为这可能是一个GPU问题,并编辑了我的默认Dpr文件;

代码语言:javascript
复制
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.

现在它和我预期的一样工作,没有任何问题,但是CPU的使用情况和以前一样(移动鼠标时使用的CPU占25%)。

然后,我将我的代码修改为

代码语言:javascript
复制
  GlobalUseHWEffects := true  ;
  GlobalUseDirect2D := False  ;
  GlobalUseDirect2DSoftware := False    ;
  GlobalUseGDIPlusClearType := True    ;
  GlobalDisableFocusEffect := True   ;

现在一切都很顺利,只有很小的延迟时间和CPU使用率很低(0 -2%)。(这就是为什么我需要火猴)

现在,除了menubar之外,所有控件都按预期工作,上面的设置不应用于Menubar,它使用的是默认行为(整个应用程序冻结了几秒钟)。

我能做些什么来克服这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-04 13:06:08

真正的问题是一些火猴效应和火猴默认设置

默认的GlobalUseDirect2D = true虽然GlobalUseHWEffects := true是性能问题的真正原因,但启用两者都是在我的machine.So中同时使用CPU和GPU使它们之一变为false。我建议您使用GlobalUseDirect2D = falseGlobalUseHWEffects := true来减少CPU的使用。

And now you will be also able to get improved fonts (best ever firemonkey can generate)

并不是所有的客户都有高端图形GPU

我正在使用英特尔移动图形芯片,所以我不认为我的芯片将有所有的能力,以支持所有的火猴效应。在代码和注释之后,可以在FMX.Types中看到

代码语言:javascript
复制
// On low-end hardware or mobile bitmap effects are slowly
  GlobalDisableFocusEffect: Boolean = False;

但是我不明白为什么默认情况下他们会使它成为。(所以启用和禁用取决于客户端GPU功能)

通过GlobalDisableFocusEffect,您将不再能够使用效果(例如:outergloweffect ).但这句话仍然不再是真的.

通过GlobalDisableFocusEffect,并不是所有的效果都被禁用,

例如

窗口样式中的

  1. Tinnergloweffect按钮样式是导致freezing
  2. Tinnergloweffect在头部的原因,在黑暗风格中是冻结的原因。

可能有很多例子..。

所以在我的场景中,我不得不删除风格中的所有效果.,混合风格,黑暗风格工作得更好,因为它们使用的TEffects (?)更少,但是现在我有了一个性能更好的图形用户界面(我觉得混合风格和黑暗风格看起来比UI之类的本地风格更酷)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10878064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档