Flash 平台技術的最佳化(十七) 不必要的網路操作

     載入資源後將本機快取,而不是在每次需要時從網路進行載入。如果應用程式載入諸如媒體或資料等資源,則通過將它們儲存到本機電腦來進行緩衝。對於很少更改的資源,考慮間隔一段時間更新緩衝。例如,應用程式可能每天檢查一次影像檔是否有新版本或每兩個小時檢查一次是否有最新資料。您可以根據資源的類型和性質通過多種方式緩衝資源:• 媒體資源(例像和視頻):使用 File 和 FileStream 類將檔案儲存到檔案系統• 單個資料值或小型資料集:使用 SharedObject 類將值另存新檔本地共用對象•

Flash社交遊戲開發攻略連載(五)——反射的應用

反射(Reflection),是眾多物件導向語言都有的功能,不過我在論壇上常常看到有人不理解反射的用途,甚至有人說反射沒有任何用處。今天我不講反射究竟有多少可挖掘的地方,我們就著我們的遊戲內容,來講一下反射的現實應用,很多東西,不用你是不知道的。我們來到花園遊戲,花園遊戲中有許多的花,很多很多,估計有108種,並且一直在不斷的增加。大家都知道,花肯定是flash做好的元件,因此我們要去庫裡面取,從庫裡面取也有很多種方法。最簡單的就是在庫裡面元件中的屬性點匯出,然後在程式裡就可以去執行個體化這個類

Flash 平台技術的最佳化(七) Vector 類和 Array 類

儘可能使用 Vector 類而不是 Array 類。Flash Player 10 引入了 Vector 類,其讀寫訪問速度比 Array 類快。一個簡單的基準就可說明 Vector 類與 Array 類相比的優勢所在。以下代碼顯示 Array 類的基準:var coordinates:Array = new Array();var started:Number = getTimer();for (var i:int = 0; i< 300000; i++){coordinates[i]

flash物理引擎應用:建立粒子

   剛剛接觸這個引擎的時候,感覺很強大,在一些示範方面已經有不錯的表現。只是這些都是外國一些類庫,相對來講,英語說明還是讓人看得很頭疼。的確很多時候,不瞭解整個架構的時候,只可以一點點摸索,一點點記錄下來吧。 看看這個類包:com.fileitup.fisixengine.particles在文檔api裡面有四種大概的粒子,按字面意思圓形粒子,導航粒子(應該不太準備),方形粒子,還有一個還是轉動粒子 圓形粒子:有座標軸,中心線的動態圓導航粒子:用於串連剛體物體方形粒子;

Flash 平台技術的最佳化(八) 繪圖 API

使用繪圖 API 可加快代碼執行。Flash Player 10 提供了一個新的繪圖 API,使用它可獲得更好的代碼執行效能。此新的 API 不提供呈現效能改進,但是可以大大減少必須編寫的程式碼數。程式碼越少, ActionScript 執行效能越好。此新繪圖 API 包含下列方法:• drawPath()• drawGraphicsData()• drawTriangles()註: 本討論不會重點介紹 drawTriangles() 方法,此方法與 3D 有關。但是,此方法可以改進

什麼時候該用cacheAsBitmap,什麼時候不該用

根據官方的說明,結合我自己的經驗,分享一下:該用cacheAsBitmap的時候:在一個複雜的向量化背景圖片上存在大量動畫;滾動文本地區;基於視窗的應用(你經常會拖拽整塊地區)透明遮罩(必須強制使用,否則失效)不應該用cacheAsBitmap的時候:不要濫用,cacheAsBitamp十分消耗記憶體,一塊250×250像素的矩形進行cache之後可能佔掉250kb的記憶體!目標元素縮放的時候不要使用。目標元素本身最好是靜態,或者不要經常發生翻轉、縮放這樣的動畫不要把向量圖和cache的位元影像

【Cocos2d-X(1.x 2.x) 修複篇】iOS6 中 libcurl.a 無法通過armv7s編譯以及iOS6中無法正常遊戲橫屏的解決方案

本站文章均為 李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-cocos2dx/1000.html          ☞ 點擊訂閱 ☜ 本部落格最新動向!及時將最新博文通知您!iOS6 與 iphone5 已經發布一段時間了,那麼對於cocos2dx在昨天發布的最新支援的Cocos2d-2.0-x-2.0.3 released版本之前的版本跑在iOS6中會出現兩個問題(Himi

Flash 平台技術的最佳化(九) 事件捕獲和冒泡

使用事件捕獲和冒泡可以最大程度地減少事件處理函數。ActionScript 3.0 中的事件模型引入了事件捕獲和事件冒泡的概念。利用事件冒泡可協助您最佳化 ActionScript 代碼執行時間。您可以在一個對象(而不是多個對象)上註冊事件處理函數以提高效能。例如,想象建立這樣一種遊戲,在該遊戲中使用者必須以最快的速度單擊蘋果以將其銷毀。該遊戲將刪除螢幕上各個被擊中的蘋果並為使用者增加分數。要偵聽由各個蘋果調度的MouseEvent.CLICK 事件,您可能會編寫以下代碼:const

Flash 平台技術的最佳化(十三) 呈現文字物件

使用位元影像緩衝功能和 opaqueBackground 屬性可提高文本呈現效能。Flash Player10 中的新文本引擎提供了一些出色的最佳化功能。但是,需要使用許多類才能顯示單個文本行。為此,使用TextLine 類建立可編輯的文字欄位需要大量記憶體和許多行 ActionScript 代碼。TextLine

【Cocos2d-X(1.x 2.x) 】iOS6與iphone5適相關設定隨筆(解決第三方類庫無法通過armv7s編譯的方法、添加Default-568h@2x.png)

本站文章均為 李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-cocos2dx/1020.html一、 很多項目使用>=4.5 version 的Xcode無法,發現很多第三方庫,比如SWaves SDK、Admob SDK、91 SDK Mobage SDk等等。1. 最簡單的解決方案肯定是等這些第三方庫儘快更新支援ios6 armv7s

Flash 平台技術的最佳化(十) 處理像素

使用 setVector() 方法繪製像素。當繪製像素時,使用 BitmapData 類的相應方法即可進行一些簡單最佳化。快速繪製像素的一種方式是使用 Flash Player 10 中引入的 setVector() 方法:// Image dimensionsvar wdth:int = 200;var hght:int = 200;var total:int = wdth*hght;// Pixel colors Vectorvar pixels:Vector.<uint> =

Flash 平台技術的最佳化(十四) 非同步作業

推薦使用操作的非同步版本,而不是同步版本(如果適用)。在代碼通知同步操作運行時即立刻開始運行,而且代碼會等待此操作完成後才會繼續執行其他動作。因此,它們在幀迴圈的應用程式代碼階段運行。如果同步操作需要的時間太長,它將擴充幀迴圈的大小,這可能會導致顯示凍結或不連貫。當代碼執行非同步作業時,不必立即運行。代碼和當前執行線程中的其他應用程式代碼會繼續執行。然後,運行時在嘗試阻止呈現問題的同時會儘快執行此操作。在某些情況下,執行操作會在後台發生,且根本不會作為運行時幀迴圈的一部分運行。最後,當操作完成時

Flash 平台技術的最佳化(五) 禁用滑鼠互動

儘可能考慮禁用滑鼠互動。使用互動式對象(例如 MovieClip 或 Sprite 對象)時, Flash Player 執行機器碼以檢測和處理滑鼠互動。當螢幕上顯示許多互動式對象時,特別是當它們重疊時,檢測滑鼠互動可能會佔用大量 CPU 資源。避免此處理的一種簡便方法是對不需要任何滑鼠互動的對象禁用滑鼠互動。以下代碼說明了 mouseEnabled 和 mouseChildren 屬性的用法:// Disable any mouse interaction with this

flash.text.engine 入門筆記(一)

Flash Player 10中提供的新功能之一:強大的文本排版能力無疑是Flash Player 10中最複雜的功能之一,連Adobe自己都覺得太複雜了,以至於推出一個TextLayout Framework來協助開發者進行開發。  小生我也是正在入門中,先撇開TextLayout

自訂命名空間提示之——命名空間與XML

     

Flash 平台技術的最佳化(六) 計時器與 ENTER_FRAME 事件

根據內容是否為動畫,選擇計時器或 ENTER_FRAME 事件。對於執行時間太長的非動畫內容,優先選擇計時器,而不是 Event.ENTER_FRAME 事件。在 ActionScript 3.0 中,有兩種方法可以特定的間隔調用函數。第一種方法是使用由互動式對象 (InteractiveObject) 調度的Event.ENTER_FRAME 事件。第二種方法是使用計時器。ActionScript 開發人員通常使用 ENTER_FRAME 事件方法。需要對每個幀調度 ENTER_FRAME

奴隸與死囚最佳化法則

奴隸與死囚最佳化法則追求的是用最少的UI執行個體顯示更多的資料,佔用最少的記憶體的一種極限最佳化法則,舉個例子:在QQ中可以開啟多個聊天視窗聊天,使用者聊天時只會開啟少數感興趣的人的聊天視窗,當開啟新聊天視窗時,如果之前有關閉的視窗,可以重用關閉的視窗。好友可以添加或刪除,刪除連絡人後,與連絡人相關的聊天視窗和關閉的視窗一樣成為閑置視窗,因此也可以被重用,當記憶體不大時,閑置的視窗應該優先被重用,記憶體過大時,閑置的視窗可以被記憶體回收,沒有閑置視窗時只能從新建立新視窗。我們需要使用最少的快顯視

flash.text.engine 入門筆記(二)

回顧一下flash.text.TextField這個類,在圖文混排的時候存在什麼缺陷?  相信很多人都認為其結構描述能力太差,圖片不支援inline,而且要更換文本域內的圖片也會顯得非常麻煩(雖然flash.text.engine也不見得簡單)。  首先介紹下GraphicElement類,此類顧名思義就是一個映像元素,純屬一個表現型的元素,相當於HTML中的IMG,只是其不具備讀取映像功能,只能通過Loader將外部圖片讀取,然後把Loader作為其Content。  看看如下執行個體代碼:/

Flash 平台技術的最佳化(十一) 關於效能方面的其他最佳化

對於 TextField 對象,請使用 appendText() 方法,而不要使用 += 運算子。當使用 TextField 類的 text 屬性時,請使用 appendText() 方法,而不是 += 運算子。使用 appendText() 方法可改進效能。例如,以下代碼使用 += 運算子,迴圈需要 1120 毫秒才能完成:addChild ( myTextField );myTextField.autoSize = TextFieldAutoSize.LEFT;var

Flash 平台技術的最佳化(十二) 減少alpha透明度的使用

     提高效能的另一種方式是刪除alpha透明度的使用,在繪製透明度位元影像映像的時候,Alpha 透明度增加了 Flash Player 的負荷,您可以使用 opaqueBackground 屬性指定背景顏色來避免此情況,當使用 opaqueBackground 屬性時,在記憶體中建立的位元影像表面仍使用 32 位。然而, alpha 位移量已設定為 255 且未使用透明度。因此,在使用位元影像緩衝功能時, opaqueBackground 屬性不會減少記憶體使用量,但會提高呈現效能。

總頁數: 61357 1 .... 20540 20541 20542 20543 20544 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.