Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 包含许多UIC组件的Flex画布,如果移动了一个组件,是否重新绘制/重新处理其他组件?_Apache Flex_Flash_Flexbuilder - Fatal编程技术网

Apache flex 包含许多UIC组件的Flex画布,如果移动了一个组件,是否重新绘制/重新处理其他组件?

Apache flex 包含许多UIC组件的Flex画布,如果移动了一个组件,是否重新绘制/重新处理其他组件?,apache-flex,flash,flexbuilder,Apache Flex,Flash,Flexbuilder,我有一个名为Host的画布,其中有许多UIComponents作为子组件,有时多达1000或3000项。目前这还可以,因为它们不是交互式的 但是,我在画布上添加了一条“标记线”(一个1像素宽的UI组件,带有彩色背景),它跟随鼠标移动将此UIComponent添加到主机画布并移动时,所有内容都会减速为爬网,即UIComponent移动需要很长时间 你认为这是什么原因造成的?或者如何避免?每次移动鼠标时,都可能导致调用这些UIComponent中每一个的measure和updateDisplayLi

我有一个名为Host的画布,其中有许多UIComponents作为子组件,有时多达1000或3000项。目前这还可以,因为它们不是交互式的

但是,我在画布上添加了一条“标记线”(一个1像素宽的UI组件,带有彩色背景),它跟随鼠标移动将此UIComponent添加到主机画布并移动时,所有内容都会减速为爬网,即UIComponent移动需要很长时间


你认为这是什么原因造成的?或者如何避免?

每次移动鼠标时,都可能导致调用这些
UIComponent
中每一个的
measure
updateDisplayList
方法。因此,您可能导致数千个组件与其邻居重新协商其位置和尺寸


在没有看到您的代码的情况下,我无法具体推荐解决方案,但您可以尝试在容纳数千个组件的画布上放置一个透明背景的
画布,匹配其尺寸和位置,并使用该画布移动标记线。

每次移动鼠标时,您可能导致调用这些
UIComponent
中每一个的
measure
updateDisplayList
方法。因此,您可能导致数千个组件与其邻居重新协商其位置和尺寸


在没有看到您的代码的情况下,我无法具体推荐解决方案,但您可以尝试在容纳数千个组件的画布上放置一个透明背景的
画布,匹配其尺寸和位置,并使用该画布移动标记线。

我假设您有1000个项目,一次只有一小部分在屏幕上


如果您有那么多的组件,那么速度会减慢。我建议考虑使用基于列表的类。因此,只渲染屏幕上的项目,并且内存中不会挂起很多组件

我假设您的1000个项目中,一次只有一小部分在屏幕上


如果您有那么多的组件,那么速度会减慢。我建议考虑使用基于列表的类。因此,只渲染屏幕上的项目,并且内存中不会挂起很多组件

为画布重写updateDisplayList函数,果然,每次移动UIComponent时都会调用它,而UIComponent又会调用所有其他组件的布局函数。透明画布解决了这个问题。好家伙。为画布重写了updateDisplayList函数,果然,每次我移动UIComponent时都会调用它,而UIComponent又会调用所有其他组件的布局函数。透明画布解决了这个问题。好家伙。我需要用画布来设置每个显示对象的x,y。我想我可能可以通过使用“itemRenderer池”来防止屏幕外项目被渲染,类似于列表的工作方式。我需要使用画布来设置每个显示对象的x,y。我想我可能可以通过使用“itemRenderer池”来防止屏幕外项目的渲染,类似于列表的工作方式。