2011-05-11 25 views
0

我们正在构建一个flex项目,并希望它的渲染速度更快。我们确实有参考父模块大小属性来调整当前模块容器大小的情况,以及包括字体大小和元素位置和大小在内的一组属性的当前模块大小属性。flex:相对大小和性能

它是否有助于为 一)PCW = parentcontainer.width,PCH = parentcontainer.height B)CCW = currentcontainer.width,CCH = currentcontainer.height

和参考PCW,PCH创建临时变量,ccw和cch在做定位时。这会有帮助吗?

此外,由于定位的大部分将在mxml中完成,因此将在初始化函数中设置这些临时变量,允许它们在mxml中使用,以便在浏览器大小发生更改时调整大小。感谢指针

回答

1

我不确定您是否使用术语“模块”作为通用术语来指代某个组件,或者您是否明确提及Module类的类。

它打破封装,如果一个容器知道它的父母。在Flex中,父母总是负责确定孩子的身高;一个孩子不应该自己规模。

你有这样的代码来访问父的高度和宽度:

pcw=parentcontainer.width 
parentcontainer.height 

我无法想象如何节省家长的高度和宽度值将加速任何东西。

我也很难想象知道父容器的宽度和高度有帮助的情况。通常一个容器有多个孩子。知道组件具有多大的尺寸来布置它自己的孩子,而不是父母有多少空间是非常重要的。

尺寸和放置组件子项的适当方法是覆盖updateDisplayList()。 updateDisplayList()有两个参数:unscaledWidth和unscaledHeight;也就是说,本质上是组件的高度和宽度。您应根据这两个值确定组件的子级的大小和位置。

当然,这样做通常依赖于ActionScript;不是MXML。

你的主要问题似乎想提高性能。应用程序的性能涉及很多因素。将ActionScript用于布局而不是MXML可能是有助于提高性能的一个因素。尽量减少绑定的使用是另一件有时可以提高性能的方法。

您是否使用过Flex Profiler?你通过代码?做这些事情能帮助你确定性能问题究竟是什么?

+0

谢谢,会做一些阅读。让我相信在模块类中引用父容器或者在相对大小/定位时引用父容器,引用父维度是一种性能拖延 - 让我读一下你的脚本。谢谢 – RG1967 2011-05-11 17:33:30

+0

@ rg1967如果访问父容器是一个性能拖动,我会非常惊讶。这绝对是一个封装禁忌;但我怀疑这对性能有任何影响。但是,如果您尝试根据其父级的大小来设定孩子的大小,父母有布局逻辑来确定孩子的大小,你可能会导致无限循环,这肯定会降低性能。 – JeffryHouser 2011-05-11 18:58:43

1

除非你的应用程序改变它的形状很多,不应该有铺设了使用Flex 如果您使用正确的剥皮/组件/布局标准的任何问题。

大部分问题不是来自Flex,而是大多数人添加到他们自己的应用程序中的代码,导致整个系统变慢。确保你了解Flash的性能改进(如数据结构,限制绑定,适当的架构,对象生命周期等)。