我所理解的Cocos2d x 主線程

2021-07-15 09:57:45 字數 407 閱讀 6770

cocos2d-x目前仍然是乙個單執行緒的遊戲引擎,使我們幾乎不需要考慮遊戲物件更新的執行緒安全性。然而,我們仍然需要關注一些情形,如網路請求、非同步載入檔案或者非同步處理一些邏輯演算法等。

其他執行緒有一些方法必須在主線程中執行,如gl相關的方法。另一些時候,為了保證ref物件引用計數的執行緒安全,我們也應該在主線程中執行這些操作。

cocos提供了該方法就是performfunctionincocosthread()

通過這樣的機制,我們就可以將乙個方法轉移到主線程中執行。這裡需要注意的是,這些方法在主線程中被執行的時機是所有系統或自定義的schedule之後,即在ui樹遍歷之前。

如果同一時間有多個計算量很大的方法需要在主線程中執行,則會影響繪製的效能。將這種處理分布到多幀的思路,減少了對主線程繪製效能的影響。

我所理解的Cocos2d x 應用程式架構

應用程式中關於視窗方面最常用的操作是通過director查詢當前的視窗尺寸。director提供了幾種不同概念的視窗尺寸。winsize表示實際的畫布大小,visiblesize表示螢幕上可見區域的大小,但都表示設計解析度。winsizeinpixel可以獲取螢幕的實際解析度。director提供兩...

《我所理解的cocos2dx》第六章 精靈

6.3 alpha預乘 6.4 精靈表 6.5 精靈動畫 精靈sprite 精靈繪製區域可能來自紋理上的一部分,或者只是乙個與紋理無關的純色矩形 對sprite繪製的修改,表現為對這個結構體的修改,結構體記錄了乙個矩形圖元的4個頂點屬性,座標顏色紋理座標 方便進行批繪製 有透明度的物體疊加 它將rg...

cocos2dx 紋理快取的理解

在cocos2dx中顯示一張,需要首先把它從檔案讀取到記憶體,再根據檔案格式進行解碼,轉換為gpu可以識別的格式,這塊可以被gpu識別的 記憶體中的影象資料,被稱為紋理。為了節省記憶體空間,減少大量瑣碎的小檔案的讀取引發的多次i o操作,將多個紋理拼成為乙個大的紋理圖,成為紋理圖集。就像是給別人看你...