看板 Flash 關於我們 聯絡資訊
: 3. 排序 : 加入或移除元素的時候將一個boolean flag設成true : 到了真的需要重新排序的時間點才進行排序,然後把flag設為false : 而非每次加入或移除元素的時候就排序 : 例如CJSignals的排序時間點是"發出事件"或者"存取listener陣列" : 內建的event system很有可能就是每次add/remove listener就馬上排序 : 才導致效能嚴重低落 : 以上 : Rusher也是用這個技巧來有效管理active components陣列 : 所以就算大量且頻繁的加入和移除物件,也不會拖垮效能 有關sorting的部分,為什麼不用別人寫好現成的sorted list 例如as3 commons的SortedList 或是CJ大這邊是屬於特殊應用 :PPPP -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.239.119
cjcat2266:看sorted list的名字應該是每一次add element就sort一次 07/08 18:34
cjcat2266:吧?CJSignals和Rusher主要是需要sort才sort一次 07/08 18:34
etrexetrex:如果是考慮資料結構的話 或許可以參考 07/09 00:23