在我的OpenGL程序中,我從頭文件中讀取數據以找出幾何尺寸,然後malloc一個Indice數組和一個Vertex數組,然後傳遞給VBO ,甚至有可能直接從硬盤讀取數據,還是隻能將GPU存儲器鏈接到計算機的RAM上?有沒有辦法直接從硬盤讀取GPU
0
A
回答
3
GPU不直接連接到系統RAM。中間有一輛公共汽車,在當前一代計算機中是PCI-Express總線。 ATA存儲器之間有一個控制器。記憶之間沒有直接聯繫。
但有有DMA,它允許某些periphials通過DMA通道直接訪問系統內存。 PCI-Express上的DMA也適用於臨時設備。理論上,GPU可以對ATA控制器執行DMA。
實際上這沒什麼用處!爲什麼?由於文件系統。即使有某種驅動程序支持讓GPU直接訪問存儲周邊設備,它仍然需要完成所有的文件系統業務,而這並不會與GPU設計的程度並行。
唉關於你的問題:
在我的OpenGL程序中,我從頭文件中讀取找出幾何尺寸,然後malloc的一個指數之數組和頂點數組,然後我傳遞給VBO,甚至可以直接從硬盤讀取數據,還是隻將GPU存儲器鏈接到計算機的RAM上?
爲什麼沒有簡單的內存映射這些文件?通過這種方式,您可以避免分配您首次讀取的緩衝區,並將內存映射文件指針傳遞給OpenGL,這確實允許驅動程序在存儲驅動程序緩衝區和GPU之間實際執行DMA傳輸,該緩衝區距離它最近您的原始請求。當然,存儲設備上的數據必須以適合GPU的格式準備,否則它幾乎沒有用處。如果需要預處理,最好使用CPU。 GPU不喜歡序列化數據。
相關問題
- 1. Python - 直接從硬盤讀取
- 2. 有沒有辦法告訴gcc從鍵盤上讀取程序?
- 3. 有沒有辦法強制UcanAccess從磁盤讀取?
- 4. 有沒有辦法直接在Python中訪問硬件?
- 5. 有沒有辦法直接從simplexmlelement對象獲取數據?
- 6. 有沒有辦法從appengine直接連接到postgres?
- 7. 有沒有辦法獲得MSMQ硬盤的使用?
- 8. 有沒有辦法讀取與「ifstream的」
- 9. 有沒有辦法從TrueCrypt磁盤讀取文件到內存中的文件?
- 10. 從硬盤快速讀取
- 11. django:有沒有辦法直接從內存中提供文件
- 12. 有沒有辦法直接從Chrome打印?
- 13. 有沒有辦法從MySQL連接Oracle
- 14. Java直接從鍵盤讀取輸入
- 15. 有沒有辦法直接從科爾多瓦獲取滾動位置?
- 16. StreamWriter:有沒有辦法寫入內存而不直接寫入磁盤?
- 17. 有沒有辦法將連接字符串硬編碼爲RDLC?
- 18. 有沒有辦法從鎖定的文件中讀取數據?
- 19. 有沒有辦法讓scanf從文件中讀取
- 20. 有沒有辦法從java applet中讀取瀏覽器的cookie?
- 21. 有沒有辦法從庫中讀取命令行參數?
- 22. 有沒有辦法從json讀取數據到html實時?
- 23. 有沒有辦法從iTextSharp讀取TrimBox和BleedBox的尺寸?
- 24. 有沒有辦法從PhantomJS的keybord讀取用戶輸入?
- 25. 獲取硬盤沒有在PHP或C
- 26. 直接訪問硬盤
- 27. 直接訪問硬盤?
- 28. 有沒有辦法直接從文件中讀取一個數字到unsigned char變量?
- 29. 有沒有辦法從APP
- 30. 有沒有辦法從collectionviewcell
我已經編程了一段時間,並且仍然感到驚訝,因爲我在某些領域知道得有多少,謝謝! – user22817