我正在研究爲Windows Phone和Windows 8 RT製作遊戲。遊戲的第一次迭代將使用XNA作爲用戶界面。XNA,矢量數學和GPU
但因爲我計劃有可能不使用XNA其他迭代的,我寫在便攜式類庫我的核心遊戲邏輯。
我已經得到了到我在哪裏在覈心遊戲邏輯計算矢量數學(子畫面的位置)的一部分。
當我搞清楚了這一點,我有一個同事告訴我,我應該確保我的GPU(而不是CPU)做這些計算。
所以,這裏是一個問題,如果我使用XNA矢量庫做我的矢量計算,都將自動在GPU上做了什麼?
邊問:如果不是,它們應當在GPU上做了什麼?或者我可以在我的Portable Class Library中執行它們並讓CPU運行它們嗎?
注意:如果我需要讓XNA執行它們以便我可以使用GPU,那麼從XNA將這些功能注入到我的核心邏輯中並不困難。我只想知道這是不是我應該做的。
注二:我的遊戲是一款2D遊戲。它將計算壞人和射彈沿着矢量的運動。 (這意味着這不是一個巨大的3D遊戲。)
偏離主題,但我認爲XNA正在走出門外。我建議尋找MonoGame的便攜性和更好的未來前景。 –
@AdamHouldsworth - 我打算轉到MonoGame。我聽說從XNA移植到Monogame是非常容易的。所以我想我從XNA開始,然後移植它。 – Vaccano
假設你的PCL從XNA的Vector2類開始(這是一個很好的開始,因爲它非常強大)。 Vector2是一個由2個浮點組成的結構。據我所知,它的方法都是CIL。如果你不是在開發一個「巨大的3D遊戲」,那麼你的同事在將vector2計算移到GPU中看到了什麼好處?您必須在HLSL(.NET)或DirectX或OpenGL中編寫自己的接口到GPU,這聽起來很耗時。我認爲也許你的同事搞了一些錯誤的優化。 –