精華區beta Flash 關於我們 聯絡資訊
※ 引述《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