Starling在應用於移動裝置開發時的注意事項

2021-06-17 17:05:28 字數 1133 閱讀 5931

最近一段時間,使用了starling作為移動平台上的ios遊戲開發,發現starling在應用於移動裝置時,有幾點重要的注意事項,如果沒有躲過,很容易耗費很長的時間徘徊而不知其解,現總結如下:

1. 打包問題

*對於移動裝置的stage3d支援是在air 3.2中實現的。flash builder4.6內建的sdk是air 3.1版本 ,所以這個地方要替換flex sdk中的air的部分。

2. 資源處理問題 

因為移動裝置上對記憶體使用的要求更為嚴格,starling的gpu渲染一定程度能夠節省cpu的使用,但是還是不夠的。

當使用未壓縮的紋理,將乙個png 圖形檔案上傳至gpu。因為gpu本身不支援這種檔案格式的紋理,它實際上是沒有儲存在gpu記憶體上,而是儲存在ram中,同樣的道理jpeg影象也是一樣未壓縮的紋理是通過cpu解碼的,這樣會消耗一定的效能。

而壓縮紋理不一樣,他是上傳到gpu的記憶體裡,解碼是直接通過gpu進行解碼顯示。

既然atf有這麼多的好處,當然是毫無疑問要使用,但是使用時請注意:

*在使用ios格式壓縮時,務必保證png的寬和高都是2的冪且相等,如果不相等,很可能造成安裝包安裝後無法進入軟體等各種問題……

3.**規範問題

package

private var _tf:textfield;

private var _num:int = -1;

public static const zero_int:int = 0;

public static const zero_uint:uint = 0;

private function init():void

private function showinfo($info:*):void

}}

*showinfo看起來都應該是true,在debug時也的確如此,但是在發布出來的正式ipa中,卻並非如此,源於object-c的整型提公升。

類似的問題

switch(404)

*這段**看起來再正常不過,但是在打包時會報錯,既不是int值太大,也不是轉型問題,還不是return問題,單獨寫都能通過,放在一起就會報錯,也是在轉化成object—c時,底層編譯無法通過。

python應用於網路 python應用於網路通訊

專案需要用到採用python實現維護測試工具,測試物件是linux裝置,需要在pc端採用python獲取linux裝置相關資訊 一 採用udp獲取普通資訊 udpserver socket af inet,sock dgram udpserver.bind ip,port data,client a...

Python被應用於在眾多領域

人工智慧的首選語言為什麼是python?python因其容易上手的特點迅速成為科學家的工具,積累了大量人工智慧的工具庫 架構,谷歌tensorflow就是其中之一。人工智慧涉及大量的資料計算,python有非常多優秀的深度學習庫可供使用,大部分人工智慧框架都支援python。大量人工智慧的工具庫 架...

bitmap應用於排序

這種方法只適合 資料不重複,已知資料範圍 的情況來自於 程式設計珠璣 所謂的bit map就是用乙個bit位來標記某個元素對應的value,而key即是該元素。由於採用了bit為單位來儲存資料,因此在 儲存空間方面,可以大大節省。如果說了這麼多還沒明白什麼是bit map,那麼我們來看乙個具體的例子...