如果我想在Windows XP和更高版本的Windows上實時縮放和合成二維消除鋸齒矢量和位圖圖像,最好使用可用的硬件加速,應該使用GDI +或DirectX 9.0c? (實際上,Windows XP和Windows 7很重要,但我們並不擔心Vista上的性能。)Windows XP上的DirectX,GDI +或SDI?
考慮到應用程序不是跨平臺的(並且永遠不會),使用SDL是否有任何優點? ?我想知道SDL是否可以更容易地切換到任何底層繪圖API提供更好的性能......
在哪裏可以找到在DirectX 9.0c中進行縮放和合成2D圖像的文檔? (我發現了DirectDraw的文檔,但是讀到它在DirectX 7之後不推薦使用,但直到DirectX 10才能使用Direct2D。)
我可以合理地預期在Windows XP上的縮放和合成,低規格個人電腦(即集成顯卡)?如果不是,那麼我是否使用GDI +或DirectX 9.0c也無關緊要?
0
A
回答
0
我剛剛發現這個:2D Rendering in DirectX 8。
看來,由於微軟在DirectX 7之後刪除了DirectDraw,他們預計所有2D繪圖都將使用3D API完成。這可以解釋爲什麼我完全沒有找到我正在尋找的文檔。
該文章看起來很有希望。
1
請勿使用GDI +。它在軟件中完成所有工作,並且它具有不利於軟件性能的渲染模型。你會更喜歡與其他任何東西。
Direct3D或OpenGL(如果您需要更完整的跨平臺API,您可以通過SDL訪問該Direct3D或OpenGL)可以在支持它的硬件上爲您提供最佳性能。 Direct2D在同一條船上,但在Windows XP上不可用。我的理解是,至少在英特爾集成GPU的情況下,硬件能夠執行簡單的操作,如轉換和組合,而且這些GPU的大部分問題都是針對對功能和性能有高要求的遊戲,以及針對ATI/Nvidia顯卡進行了優化。如果你以某種方式找到一臺顯卡不支持Direct3D的機器,並回退到軟件,那麼你可能會遇到問題。
我相信SDL在Windows上使用DirectDraw來實現非OpenGL繪圖。不知何故,我得到了一個印象,即DirectDraw在現代Windows版本的軟件中執行所有操作(並且給出了DirectDraw的用途,因爲它從win9x時代開始並不重要),但我無法驗證。
理想情況是跨平臺的矢量圖形庫,可以使用Direct3D或OpenGL進行渲染,但AFAICT沒有這樣的東西可用。開羅圖形庫在Windows上缺乏加速,Mozilla已經啓動了一個名爲Azure的項目,該項目顯然具有這一功能,但似乎並未設計用於其項目之外。
相關問題
- 1. 在Windows XP上的GDI +問題
- 2. Windows XP SP3上的DirectX版本
- 3. GDI/GDI +如何在沒有OpenGL或DirectX的情況下工作
- 4. System.Windows.Media.Imaging是否使用DirectX(如WPF)或GDI +?
- 5. Direct2D在Windows XP中回退到GDI
- 6. 在Windows XP或Windows 7上編譯C--
- 7. 如何在Windows XP上安裝GDI + 1.1版?
- 8. Windows XP上的Microsoft.Windows.ActCtx
- 9. Windows XP上的Microsoft.Web.Administration
- 10. Windows XP上的System.Windows.Ink.InkAnalyzer
- 11. Windows GDI上下文 - LoadImage
- 12. Windows XP上的AppFabric開發?
- 13. 不使用GDI的DirectX字體教程
- 14. gdi + GetWorldTransform()它在directx中的位置?
- 15. 在Windows XP上DrawToBitmap
- 16. Windows GDI上下文 - CreateDIBSection
- 17. Windows XP和Windows Vista上的IE 6/7
- 18. 如何在Windows XP中運行或編譯DirectX 10應用程序?
- 19. 在Windows XP上的python ez_setup
- 20. Windows XP上的IMAPI2錯誤
- 21. Windows上的Qt問題xp
- 22. Windows XP上的FireMonkey Canvas.DrawLine
- 23. Windows XP上的真彩CImageList
- 24. Windows xp上的SystemTimeToTzSpecificLocalTime崩潰
- 25. Windows XP上的.octaverc文件
- 26. Windows XP上的OpenCart錯誤
- 27. Windows XP上的VC++ 2012 Express
- 28. Windows XP SP3上的wlanAPI
- 29. windows xp上的shell腳本
- 30. 在Windows XP上更改時區xp
感謝您的建議。這聽起來像我應該避免SDI +和DirectDraw。那麼Direct3D有2D繪圖的API - 特別是縮放和合成?如果是這樣,我在哪裏可以找到文檔?我所讀過的所有東西都直接進入了多邊形,虛擬相機和紋理 - 我認爲這些都不相關。 –
維基百科說DirectDraw _is_硬件加速。 :S –