我正在用兩個進程寫一個遊戲。一個用OpenGL進行渲染。另一個用於碰撞檢測。這樣我就可以使用多個核心。使用pygames碰撞模塊沒有初始化顯示
但是,我不能使用任何pygame表面沒有打開顯示。所以我不能使用位掩碼來做像素完美的碰撞或任何其他碰撞。
我試圖簡單地打開另一個窗口只是爲了看看我是否可以使用Surfaces,但是我無法打開第二個pygame窗口而沒有獲得OpenGL函數錯誤。
你可以在兩個獨立的進程中用pygame打開兩個非OpenGL窗口,但我使用的是OpenGL。
我覺得可能有某處我可以插入一個指向顯示的指針,讓表面停止說Dead Display
。某種類型的SDL變量,我可以在第二個過程中操作來說「它不是死在這裏」。或者使用像素完美碰撞的其他方式。
我打開像素完美的替代品,不使用pygame。
您正在使用多處理,而不是線程?你可能可以,但這聽起來像是不成熟的優化。 – ninMonkey
其不是。我只能在屏幕上獲得40個形狀,但是如果我專門給一個內核渲染,我會得到200個。我正在使用線程插座連接udp和tcp,以便從主線程竊取更多。我瞄準minimun玩是雙核2.0的我有一個四核3.5和運行在一個單一的3.5仍然比大多數人更多。雙重流程使其更加可行。 – Kaliber64