object-pooling

    0熱度

    1回答

    我之前實例化並銷燬了我的遊戲對象,但是在瞭解到它是處理器密集型的情況下,操縱了我的代碼,以使它成爲1個對象的對象池。當我按下Z時,我的對象被激活,並且只要Z被按下就開始縮放,並且在按下鍵時停止對象,但是當再次按下Z時,對象不會再次被調用。我究竟做錯了什麼 ? float speed = 2f; public GameObject radius; public int pooledAmount

    0熱度

    1回答

    最近我開始研究關於對象池設計模式的更多信息,並遇到了無法找到答案的問題。 對象池模式的想法是通過重用它們來節省昂貴的資源。檢查與db的連接是非常昂貴的資源。因此我想將它添加到「池」中。 我總是被教導保持連接儘可能少。 我可能會弄錯這一切,但以我的觀點來看,創建一個新的連接並長時間保持活動狀態(在游泳池中)只是浪費資源。連接可能不會創建多次,但它會一直打開。 我很樂意有一個解釋。

    0熱度

    1回答

    我試圖實現我自己的Android視圖回收。我的問題是,是否有一種簡單的方法可以將Android視圖對象(更具體地說是一個FrameLayout)「重置」到它將從構造函數中出來的狀態。換句話說,它知道它的上下文,但卻忘記了諸如調用SetWillNotDraw,觸摸處理程序,可見性或我可能設置的其他任何東西。 另一種方法是編寫我自己的「重置」方法。我擔心如果我走這條路,最終會出現一些與未能重置狀態的錯

    1熱度

    1回答

    我創建瞭如下的對象池。 void Arrow::CreatePools(cocos2d::Layer *layer) { Sprite * sprite; int i; //--CREATE ENEMY OBJECT POOL--// enemyPool = new Vector<Sprite*>(MAX_ENEMY_NUMBER); enem

    -1熱度

    1回答

    For Stateless object我們應該使用哪一個,是爲它創建Singleton類還是爲它創建Object pool。 對象池和單例類之間的區別在哪裏? 當我們可以相互選擇它們時,條件是什麼? 圍繞無狀態對象而已。

    0熱度

    1回答

    我引用了一個具有非常昂貴的初始化(需要3-4秒)的(黑盒)dll。它由具有幾百個併發用戶的asp.net應用程序使用。 由於昂貴的初始化,我不能將它用作實例變量。我的第一個想法是將實例存儲在一個靜態變量中,並使用c#lock()方法來避免競爭條件。這工作正常,但顯然當多個用戶想要同時訪問該庫時,圍繞單個靜態變量的lock()方法將效率低下。 我想實現一個對象池,以便可以使用此庫的多個實例。我無法使

    3熱度

    2回答

    我在將對象池腳本從UnityScript轉換爲C#時遇到了麻煩,因爲我在這裏得到了很多很好的幫助。現在我遇到了一個問題,試圖從池中獲取遊戲對象。我有三個腳本互相交互,所以我不太確定哪裏出了問題。下面是這兩個腳本對象池,我相信都是平方路程,他們沒有給出任何錯誤: public class EasyObjectPool : MonoBehaviour { [System.Serializab

    1熱度

    1回答

    我用來閱讀各種博客和建議,彙集普通的Java對象(不是像連接等對象)沒有改善,並可能實際上降低性能,作爲反模式。然而,關於Android平臺的這種情況並不常見,許多遊戲庫都提供了用於重用現有對象的類。現在我讀了對象池減少了垃圾收集週期的數量,提高了性能。 臺式電腦與移動設備如此不同以至於推薦使用不同的開發模式?可能的答案可能是 對象池也使得桌面應用程序運行得更好 對象池實際上並沒有與Android

    0熱度

    1回答

    智能指針(一個或多個)完全控制: template<std::size_t OBJ_SIZE> class Pool { public: template<typename T> void new(std::shared_ptr<T> & product); // more details... }; 一旦對象(產品)被返回,它的生命週期完全由包含該對象的智

    1熱度

    1回答

    我正在嘗試構建一個在瀏覽器中運行的Javascript遊戲工具包。我已經遇到過度垃圾收集可能導致的可怕的100ms +暫停。這往往會破壞用戶體驗。 正如我已經讀過的,對此的補救措施是避免首先創建垃圾,例如通過對象的合併和重用。我把一個簡單的應用程序,以測試出來的概念:http://jsfiddle.net/gk6Gn/ 載體類被包含在源,並且被非常簡單地定義: function Vector2()