2008
05.06


這是一個學生寄來的問題,也看到他在很多討論區到處貼這個問題,可是都沒人回應,應該是很急了,我用了一點空檔時間驗證這個問題應該是不存在的,問題如下:

老師您好,我是XXXX的OOO,這是我測試TileList拖拉圖片到SWFLoader的檔案,Swf是一個簡單的flash檔案,而tilelist是用arrayclooection放入圖片,並設定DragEnable=”true”,IteamSource是用老師上課示範的Imageloader.mxml,但是在將圖片從tilelist拖入swf檔案時,有時候如果拖拉速度快一點就會出現lag停頓
一下子,沒辦法都很順暢,我是過將DragEnable=”false”,自己寫doDrag事件去拖拉,但依然會有這種情形,請問這該如何解決呢?

我覺得可能是swfLoader的問題,請問有辦法用別的容器去load swf檔案進來控制嗎?像是Image或Canvas之類的元件?請老師幫我解答一下…


因為這個問題非常的單純,所以這個問題很明顯是否定的,當時我有提出幾個點:

  1. TileList內部的元件要用Image來替代SWF檔 (這個問題符合這個條件)
  2. SWF動畫本身不能是吃效能的大怪物 (如果本來效率就很差,那不能怪罪給Flex)

符合了兩大條件,事實勝於雄辯,下面的示範將證明一切。

這個示範我已經用盡全力快速拖曳了,還是試不出有lag的現象,測試環境為P4 2.0的機器,這算是老機器了,其他應該也不成問題,下次回家用P3 1.0跑跑看,我想應該也不成問題才是。

良心建議:
要能夠隨心所欲的操控Flex基本功非常的重要,所謂基本功指的是要能夠了解Flex,Flash,ActionScript 3.0的運作方式,我知道很多人急著去做很多的範例,但是那個真的沒有什麼太大的幫助,還是課堂上的老話一句"做多少範例不重要,觀念才是最重要的",有些學生會問我 rollOver 和 mouseOver 有什麼不一樣,或許很多人會覺得這是個蠢問題,但是我會認為那是一個好問題,昨天也有人問我HTTPService和URLLoader有何不同,這些都是好問題,跟大家共勉之。


相關文章:
  • Adobe AIR在智慧型手機(iPhone Android)的應用與限制
  • 由Flex 3進入Flex 4的必備知識 PART 4 – Flash Builder的程式撰寫工具
  • Adobe Flex 4.1現身
  • Flash Builder4 文字提示功能
  • Flash Player 10.1正式版釋出
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    9 comments so far

    Add Your Comment
    1. 請問一下Anistar大大
      我現在用tilelist如果加入100張以上的照片..就會有lag的現象
      現在在想個方法寫個SuperImage的as來改善這個情形
      不知道有什麼方向的建議…

      • 你方便把你的程式發布在網站上我幫你看看嗎?

      • http://blog.xuite.net/sugarray/FLEX/27136761

        我放在這裡 請大大您看一下囉!

      • 我的意思是執行的成果 XD
        我想問題應該不在這段code中…

    2. 你好,请问能把你的这个Demo发一份给我吗?谢谢

      • 這個年代久遠了,我應該要找一下看看有沒有備份 XD

    3. 我想, 他的問題和現象應該不是您Demo的樣子, 他放的swf有可能是一直在play的…所以他在drag&drop時, swf仍然在play…這樣就會lag了.
      嗯, 我正好最近在用Flex寫一個首頁, 組合了一個較大(其實蠻大的Flash, 約2M..一個大大的旋轉的地球)..當我用swfloader使用它時, 效能是很差的, 我後來採用flash由div另外包在HTML中, Flex只做主功能選單及contain, 就好非常多.

      • 你的意思是畫面上有很多在播放中的動畫嗎造成lag嗎?關於這個可討論的範圍實在太大了,這關乎於程式撰寫上的邏輯程序和動畫的複雜度,寫專案要注意的環節與技巧很多,可能就要個案處理了.

    4. 我現在用UMPC,CPU只有500一樣跑的非常順,看來沒什麼大問題.