※ 引述《cjcat2266 (CJ Cat)》之銘言:
: Senocular寫了一篇關於AS3多執行緒的文章
: 相信對AS有點了解的人,都知道AS3是單執行緒、不支援多執行緒
: 這其實是將大量的運算分成不同的frame來執行的技巧
: 可以讓程式不會因為一些 "非一定要一個frame以內就要完成" 又消耗系統資源的程序
: 而導致畫面停格
: http://www.senocular.com/flash/tutorials/asyncoperations/
我從之前工作的同事那裡學到了類似的技巧
詳細內容請看這裡:
http://www.bongiovi.tw/blog/?p=58
裡面有個範例檔,裡面是重複draw一張很大的圖
主要的程式是Scheduler.as,就是來處理分成多個FRAME執行的部份
而在DocumentClass 的__init()中有兩個方式可以選擇
一個是不透過Scheduler直接重繪200次
另一個則是透過Scheduler來執行,會發現draw的動作被分散到不同的FRAME
不過Scheduler的使用時機還是看場合
就像原文提到的:"非一定要一個frame以內就要完成,又消耗系統資源的程序"
就是一個不錯的時機,還有就是愈大量的應用,則效果愈顯著
若是只有一兩個function,那本來在一個frame中就會處理掉
那用了Scheduler也不會有什麼效果
另外Scheduler這隻Class也提供了其他的功能,例如加入跟移除enterframe
delay執行某個method,這些方便的小功能,希望對大家會有幫助
--
http://www.bongiovi.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 77.194.76.88