Apache flex Flex 4 mx:HDividedBox在启用LiveDraging的情况下闪烁*仅当鼠标位于组件上方时*
我注意到,“开箱即用”HDividedBox在启用LiveDraging时会出现一些严重的闪烁问题,但只有在拖动时指针位于分隔框的内容上方时才会出现。如果在拖动时抓住BoxDifferer并将指针从组件上移开,闪烁将消失,组件将正确渲染 我已经用我的定制组件和一个非常基本的HDividedBox实现测试了这一点,该HDividedBox实现包含Group、SkinnableContainer和BoxContainer子级,以及带有剪辑的嵌套组。所有类型的孩子表现出相同的行为。如果有人对此有一个解决办法,我将非常感谢一些意见 非常感谢,下面是一段代码片段,它显示了我的问题Apache flex Flex 4 mx:HDividedBox在启用LiveDraging的情况下闪烁*仅当鼠标位于组件上方时*,apache-flex,mouseover,drag,flicker,Apache Flex,Mouseover,Drag,Flicker,我注意到,“开箱即用”HDividedBox在启用LiveDraging时会出现一些严重的闪烁问题,但只有在拖动时指针位于分隔框的内容上方时才会出现。如果在拖动时抓住BoxDifferer并将指针从组件上移开,闪烁将消失,组件将正确渲染 我已经用我的定制组件和一个非常基本的HDividedBox实现测试了这一点,该HDividedBox实现包含Group、SkinnableContainer和BoxContainer子级,以及带有剪辑的嵌套组。所有类型的孩子表现出相同的行为。如果有人对此有一个解
谢谢
Aaron尽管拉动分隔器查看该样本的行为很有趣,但我没有遇到任何闪烁问题。可能的解释:
<fx:Declarations>
<fx:int id = "resizeCount">0</fx:int>
</fx:Declarations>
<mx:HDividedBox
width = "500" height = "200"
liveDragging = "true">
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "green"
resize = "{trace(resizeCount);resizeCount++}" />
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "blue"
resize = "{trace(resizeCount);resizeCount++}" />
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "yellow"
resize = "{trace(resizeCount);resizeCount++}" />
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "red"
resize = "{trace(resizeCount);resizeCount++}" />
</mx:HDividedBox>
0
它很快就进入了数百。。。然后成千上万…嗯。。。我也在运行一个非常快的处理器。现在,我已经能够使用我在4个不同的盒子上发布的代码来重现这一点。它通常需要快速拖动,并将显示在元素的右边缘,直接位于分隔符的右侧。您使用的浏览器、操作系统和flash版本是什么?我尝试了Chrome和自动使用的最新版本的flash,以及IE9和相对较新版本的调试器flash插件。这是在Windows7上的i7 920@3.8ghz…我在一个iMac上运行OSX 10.6.6,有i3 3.06GHz和4GB的RAM。。。Flash 10.1.102.64。你的马力肯定比我大,所以我想这可以解释为什么你看不到它。我尝试了Chrome、Firefox和Safari,在iMAc和XP Core2 Duo 3Ghz的4GB内存盒上都得到了相同的结果。啊,众所周知,Flash在OSX上的运行比Windows更差。我从来没有体验过它,因为我是一个Windows的家伙,但我肯定看到过很多次报告,比如:如果你家里有一台Windows机器,试一下,然后分享结果。我检查了一个Windows XP Core2 Duo 3Ghz的盒子,它有4 GB内存,所有相同的浏览器都有相同的结果。如果这是处理处理器密集型计算(如3D渲染),我可以看出闪存性能差是罪魁祸首,但我们这里讨论的是渲染单个精灵。。。不应该是加工猪,对吧?
<fx:Declarations>
<fx:int id = "resizeCount">0</fx:int>
</fx:Declarations>
<mx:HDividedBox
width = "500" height = "200"
liveDragging = "true">
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "green"
resize = "{trace(resizeCount);resizeCount++}" />
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "blue"
resize = "{trace(resizeCount);resizeCount++}" />
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "yellow"
resize = "{trace(resizeCount);resizeCount++}" />
<s:SkinnableContainer
minWidth = "0"
percentHeight = "100"
backgroundColor = "red"
resize = "{trace(resizeCount);resizeCount++}" />
</mx:HDividedBox>