2011-12-17 75 views
0

我正在創建一個OpenGL遊戲,我正在尋找最好的跨平臺解決方案。我有使用QtCreator的QtSDK的經驗,我喜歡信號/插槽範例(不是MFC的粉絲,它消除了wxWidgets),我想我可以輕鬆地將我已經完成的任務交給Qt,但是我擔心由於Qt基於它的widget可能對我的遊戲來說太慢了。目前,我生成了一個(相當)大的地形,並且我處理了許多實體(2-500 +),其中一些實體具有許多粒子(〜2-500 ^〜2-500),同時需要有效地處理鍵盤和鼠標輸入我目前在OpenGL中做的,除了GLew之外沒有任何更高的級別)。QtSDK:遊戲速度太慢嗎?其他建議?

我也對SFML感興趣,因爲它可以處理窗口創建和音頻/網絡,並且看起來與OpenGL相當友好。

我的問題:您是否使用QtSDK製作了三維遊戲?它有反應嗎?在我開始將大量代碼移植到Qt之前,任何提示都會非常棒,只會令人失望。

在此先感謝!

回答

1

一般來說,如果你正在做一個遊戲,你應該避免使用Qt創建您的OpenGL窗口。你可以使用Qt來處理一些東西(Unicode字符串,信號等),但是Qt不能提供你製作遊戲時所需的所有輸入,聲音處理等需求。這不會讓維護大多數遊戲所需的嚴格時間變得容易。

如果您正在尋找遊戲開發的跨平臺基礎,您應該研究SFML/SDL/Allegro5。所有這些都非常適合遊戲開發。

1

如果你已經在OpenGL中做了所有事情,我真的沒有看到切換的理由。信號和插槽比手動方式慢,並且需要預編譯構建步驟,這對於移植來說是一件麻煩事。

如果所有QGLWidget選項設置正確(刷新和重繪速率),Qt不會影響性能(或至少不應該)。如果你打算使用OpenGL來繪製Qt GL Widgets(這也是可能的),那可能會影響性能。

我相信你是見利忘義SDL是所有關於:API by category

0

我已經在Qt中創建了模型等的例子。 Qt不是太慢,或者什麼。如果你想創建一個遊戲,或者任何在Qt中,然後繼續。 Qt爲使用Qt的最終用戶提供了很多。所以忽略所有其他的迴應。我從來沒有遇到任何速度問題。

1

雖然我只有用QT一點點經驗,我最近碰到一個有趣的消息傳來:http://labs.qt.nokia.com/2011/12/15/qt-4-8-0-released/

現在可以創建「多線程」的OpenGL的解決方案。我認爲它可以提高性能。一個線程可以獨立負責GUI(窗口小部件)和其他OpenGL(一個用於渲染,一個用於資源加載等)。總而言之,我認爲對於簡單或休閒遊戲QT就足夠了。當然,你將無法在其中創建AAA遊戲:)