C類語言中可以提高效能的習慣

來源:互聯網
上載者:User
以下適用於 As3,C#,Js,Java 等大部分基於ECMA標準的語言

//邏輯編程部分
1。 uint,int,number,float 等數字類型中,int速度最快,而不是一般人認為的uint.
2。 集合對象 Array,Object,自訂類 中, 速度是  自訂類 > object > Array
3。 移位元運算可以大幅提高數學計算的效率  (我提交的時候QQ說我這句有非法字元。。)

例:大約快了300%
x = x * 2;
x = x * 64;
//相當於:
x = x << 1;
x = x << 6;

4。取整時,用int() 比 Math.floor 要快得多(10倍以上)
5。取絕對值: ,*-1 比 Math.abs要快.如
var test:Number = n < 0 ? n * -1 : n;快於var test:Number = Math.abs(n);

6。變數越短越好(老外說的)
7。靜態變數的速度大概要慢於普通變數10%。(是不是很吃驚?至少在as3裡是這樣的)
8。構造數組和對象的時候,new Array() and new Object()要比 [] and {}慢3倍的時間
9。list[int(0)] 比list[0]要快,強制轉換int在很多地方都可以試一下。
10。 delete 比把這個對象設為null 更消耗資源!雖然看上去更優雅一點,但代價是不值得的。
11。list[list.length] = xxx; 要比 list.push(xxx) 快6倍。(簡單來說,關係到建構函式的都會變慢)
12。清空一個數組時,如果它比較短,可以用=[]來解決,如果比較長,用length=0會更快。
13。交換變數可以不用聲明一個臨時變數,而是通過xor來解決:
a = a^b;
b = a^b;
a = a^b;
14。乘法運算總是比除法要快,大約是快1。3倍。

//視覺編程部分(大部分指AS3)

1。如果斜方向移動容器產生抖動,那麼讓每個移動的像素變為整數可以解決。
2。cacheAsbitMap可以使拼湊型的圖形提高10倍以上的效能。
3。任何不需要滑鼠響應的容器都應該加上MouseEnable=false
4。任何不需要透明通道的容器都應該加上自動背景。
5。不要將太多效果依賴於像素級碰撞,除非是做小遊戲。
6。操作bitmapdata所產生的特效(如雲霧,光暈)非常節省效能。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.