自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

提升as3程序性能的十大要點(diǎn)

開發(fā) 前端 后端
新的一年到來了,是時(shí)候?yàn)閒lash的性能制定新的解決方案了。今天的文章收集了我認(rèn)為可以提升flash程序性能的十大要點(diǎn)。繼續(xù)往下讀吧。

[[55325]]

新的一年到來了,是時(shí)候?yàn)閒lash的性能制定新的解決方案了。今天的文章收集了我認(rèn)為可以提升flash程序性能的十大要點(diǎn)。繼續(xù)往下讀吧。

1.使用flash的源生代碼代替as3

一般情況下,使用flash player的原生代碼做一些大負(fù)荷的工作要比使用as3去做好的多。因?yàn)楹驼{(diào)用flash player api(flash包里面的所有東西)里面的方法相比,在vm(虛擬機(jī))里運(yùn)行你自己的as3代碼勢(shì)必會(huì)帶來一些間接成本。不適用這個(gè)規(guī)則的例外是,api有時(shí)會(huì)做你不想做的事情,比如分配內(nèi)存

2.減少內(nèi)存分配以降低gc

除了你預(yù)料到的內(nèi)存分配,比如通過使用某個(gè)新的操作觸發(fā)某個(gè)事件,還有很多隱藏的分配,比如關(guān)聯(lián)的字符串對(duì)象、flash player自己創(chuàng)建的對(duì)象,如事件。這些分配很慢,使用完了回收他們更慢,所以試著去掉這樣的分配。

3.減少對(duì)象的數(shù)目以降低gc

使用完的對(duì)象,flash player的垃圾回器會(huì)回收他們的內(nèi)存來重新使用。不幸的是,這個(gè)過程是非常緩慢的而且我們不能控制它什么時(shí)候執(zhí)行。所以,盡量重用已經(jīng)存在的對(duì)象而減少使用new來聲明新的對(duì)象。對(duì)這方面有幫助的一個(gè)技術(shù)是free lists。

4.不要使用任何動(dòng)態(tài)的東西

這包括動(dòng)態(tài)的函數(shù)(如無特征的函數(shù)和被聲明為局部變量的函數(shù)),如Object和MovieClip這樣的對(duì)象,用”[]“操作符訪問字段、無類型的變量。這些都比使用相應(yīng)的靜態(tài)量(如正規(guī)的函數(shù)、非動(dòng)態(tài)類、”.”運(yùn)算符、有類型的變量)要慢的多。

5.把更多的事情交給gpu

現(xiàn)在在flash里面(fp11)我們除了可以使用cpu外,還可以使用顯卡的gpu。二者的組合使用是完成高性能3D圖像處理(Stage3D)和高清視頻(StageVideo)播放的關(guān)鍵。

6.減少函數(shù)的調(diào)用

非常不幸的是,函數(shù)調(diào)用在as3里面是非常慢的。這包括總在使用的getter和setter方法(如調(diào)用數(shù)組的長度Array.length)。嘗試用緩存函數(shù)的執(zhí)行結(jié)果來代替多次的函數(shù)調(diào)用,尤其是用getter的時(shí)候。在極個(gè)別情況下,手動(dòng)地把一個(gè)小的函數(shù)體合并到一個(gè)更大的函數(shù)里面。

7.使用專用的函數(shù)或者類,而不是通用的

Sprite比MovieClip省內(nèi)存,Shape比Sprite省內(nèi)存,BitmapData的copyPixels方法比draw方法更快。

8.盡量少的使用靜態(tài)訪問

訪問靜態(tài)變量、常量和函數(shù)比訪問非靜態(tài)的要慢很多。盡量使用非靜態(tài)方案或者把靜態(tài)訪問緩存為非靜態(tài)變量、常量或者局部的變量、常量。

9.局部變量比字段(原文為文fields,譯者認(rèn)為就是所謂的成員變量)更好

讀取類變量和對(duì)象變量(又叫字段,成員變量)比訪問局部變量要慢地多。如果你頻繁的使用某個(gè)字段訪問,那么***把它緩存為局部變量。

10.清除無意義的代碼

經(jīng)常見到一些變量被初始化為該類型的默認(rèn)值,這會(huì)減緩對(duì)象的創(chuàng)造時(shí)間和函數(shù)的執(zhí)行時(shí)間。作為一個(gè)好的習(xí)慣,清除那些無用代碼,你的整個(gè)程序的性能將會(huì)提升。

原文:http://www.wefdc.com/?p=2395

【編輯推薦】

  1. Swiffy變身Flash插件,可將SWF轉(zhuǎn)為HTML
  2. 從HTML 5和Flash之爭(zhēng)看開發(fā)者社區(qū)
  3. 解讀Adobe對(duì)于HTML 5和Flash未來戰(zhàn)略
  4. 10個(gè)讓你忘記Flash的HTML 5應(yīng)用演示
  5. Flash:涅磐與重生
責(zé)任編輯:陳貽新 來源: Mhycoe
相關(guān)推薦

2013-02-20 13:37:54

Android開發(fā)性能

2009-01-20 10:27:00

2015-01-29 09:11:37

OpenStack云應(yīng)用云部署

2016-10-19 13:47:41

大數(shù)據(jù)存儲(chǔ)Hadoop

2011-12-01 09:00:12

Android提升開發(fā)性能要點(diǎn)

2009-02-17 09:50:25

2011-09-16 14:03:18

2015-05-18 08:47:54

2015-11-10 09:50:22

2016-10-24 10:07:40

私有云云計(jì)算

2017-10-31 12:45:55

程序員學(xué)習(xí)語言

2009-11-20 09:15:14

谷歌Chrome OS十大要點(diǎn)

2018-11-06 09:53:27

2016-12-12 15:19:44

云計(jì)算公有云應(yīng)用上云

2012-04-05 10:00:15

2009-06-29 19:13:54

VMware ESX虛擬化虛擬機(jī)

2022-11-25 10:19:30

數(shù)據(jù)中心

2023-10-16 20:46:57

ChatGPT

2024-04-18 11:07:30

C++語言

2019-02-01 09:50:00

提升Python程序性能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)