2010-05-10 278 views
0

我有一個Flex應用程序(SDK 3.5 - FP10),它可以實現思維導圖樹。每個節點都是Canvas(我使用Canvas特定的屬性,所以我需要它)。它具有陰影效果,背景色和一些小UI元素(如圖標,文本...)。它完美的工作,直到它超過700節點(帆布)。在該數字上顯示灰色矩形:http://yfrog.com/bhw2pj。如果我關閉Canvas的DropShadowFilter效果,它們也消失了,所以我認爲這是一個DropShadowFilter問題:http://yfrog.com/2d9y8j大量Canvas上的Flex - 奇怪顯示行爲

的作用很簡單:

private static var _nodeDropShadow:DropShadowFilter = new DropShadowFilter(1, 45, 0x888888, 1, 1, 1); 

_backgroundComp.filters = _nodeDropShadow; 

是否可能的Flex無法處理那麼多嗎?

在此先感謝

回答

0

我認爲你是完全正確的,柔性無法處理如此之多的下拉陰影過濾器。他們非常昂貴。但是,如果您使用內置皮膚,則會創建處理器密集程度較低的投影陰影的位圖版本。您需要將樣式「dropShadowEnabled」設置爲true以啓用此效果。你對這種類型的dropShadow的控制將會減少,但是你可能能夠得到你想要的。這裏帆布:

更多陰影效果的款式,看了MX的樣式列表http://livedocs.adobe.com/flex/3/langref/mx/containers/Canvas.html

0

呀,700是有點多Flex組件。在這個級別上,您將需要編寫自己的自定義組件,手動執行圖形&佈局。此外,我同意使用位圖緩存來確保投影濾鏡不會不斷重新渲染。