2010-10-07 44 views
2

我有以下測試設置:爲什麼SDL如此之慢,我怎樣才能讓它運行得更快?

  • 1024 * 768與SDL_HWSURFACE創建的屏幕表面
  • 主循環僅由SDL_Flip()和一個簡單的FPS計數器

的問題是:

我只有1000 FPS左右。當你認爲你甚至沒有畫任何東西時,這真的很低!

當我繼續在屏幕上對相當大的表面進行blitting時,FPS下降非常快。

我想做的事:

像素,每個像素效果/物理破壞的地形/對象的遊戲。

  • 爲什麼SDL這麼慢? (我通過小范例測試玩了三天,並排除了我可能犯的每一個可能的錯誤,所以我確信它實際上是SDL的錯)

  • 是否有任何祕密技巧讓它運行更快?

  • 是否還有其他的2D API提供簡單而快速的單像素訪問?它在硬件面很慢

+1

FPS是一種非線性性能指標。改爲每幀(毫秒)秒。 – genpfault 2010-10-08 13:15:52

回答

0

像素訪問(這是一個硬件限制,不是SDL限制)。

你可以試試SFML,它是OpenGL加速的。

0

請注意,調用SDL_HWSURFACE並不總是會根據您的圖形卡使用硬件。

相關問題