回覆列表
  • 1 # 飛57709646

    優勢主要體現在平行計算方面。瞭解一下opengl裝置上下文的概念就會知道,並行資源上傳方面是多核cpu的優勢,卻恰恰成了opengl的效能瓶頸。換句話說,opengl並不能享受到多核cpu多帶來的多執行緒計算加速所帶來的優勢,在資源處理上顯得不靈活,甚至有點落伍。當然新版本的opengl在多執行緒方面有所最佳化,但是並沒有從底層架構上根本解決這一問題。vulkan應運而生,它能更好的與多核cpu協同工作。

    與opengl相比,其劣勢首先體現在學習路線陡峭,它的程式設計模型更接近於顯示卡底層的工作模式,它給予了你對GPU更底層的控制,也更需要你以機器的思維去編寫程式碼,對於開發者而言並不如opengl的介面友好。其次,除錯的難度也變大了,因為它給予開發者對GPU和視訊記憶體更大的控制自由度和靈活性,所以擯棄了一些內部的容錯或保護機制,程式的健壯性要很大程度上依賴開發者自身的水平。

    以上所說都是針對開發者或者使用者而言。而對於顯示晶片供應商(例如國外的英偉達和AMD,國內的景嘉微)而言,vulkan與opengl相比,它的優勢太明顯了,幾乎沒有什麼劣勢。因為vulkan的架構更契合GPU的工作特點,它的驅動編寫起來更簡單也更輕量化,並且容易最佳化。而opengl版本眾多,有很多冗餘的API需要相容,驅動編寫與最佳化難度大;其實也不難理解,對使用者越友好的程式設計介面就越考驗晶片生產商的驅動開發能力;其實opengl在A卡上的表現就遠不如同等效能的N卡上的表現,這說明英偉達對opengl驅動最佳化的更好。隨著vulkan的到來,這些都不再是問題,它會最大程度上規避由顯示卡驅動的差異所帶來的顯示卡效能差異。

  • 中秋節和大豐收的關聯?
  • 如何看待在這裡出了問題永遠都是臨時工出了事故永遠監控是壞的?