我做了一些Google搜索,看起來Vulkan沒有像素緩衝區對象。在Vulkan API中有沒有類似的東西?是否有與OpenGL的像素緩衝區對象相當的Vulkan?
1
A
回答
6
OpenGL也沒有「有一個像素緩衝區對象」。什麼OpenGL有內存,又名:buffer objects。緩衝區對象的用途之一是作爲pixel transfer operations的源/目標;當與緩衝對象一起使用時,它們是can execute asynchronously。這樣做通常被稱爲「像素緩衝區對象」,它不是一個特殊的對象。它只是使用OpenGL分配的內存來執行將圖像數據異步複製到緩衝區對象之外的操作。
OpenGL需要一個特殊的系統,因爲它本質上是一個同步API。相比之下,在Vulkan中幾乎沒有是同步的。所以Vulkan不需要一個特殊的系統來完成它。
vkCmdCopyImageToBuffer
是Vulkan命令,因爲它以vkCmd
開頭。因此,它不會立即執行;這些命令存儲在Vulkan命令緩衝區中,由GPU異步執行。
Vulkan沒有用於執行異步像素副本的特殊系統,因爲Vulkan操作默認爲異步。與OpenGL不同的是,它不會試圖將它隱藏起來。
相關問題
- 1. OpenGL中的幀緩衝區對象和像素緩衝區對象之間有什麼區別?
- 2. OpenCL中的緩衝區對象和圖像緩衝區對象
- 3. LWJGL/OpenGL頂點緩衝區對象
- 4. OpenGL:緩衝區對象性能問題
- 5. 是否有任何OpenGL版本需要支持幀緩衝區對象?
- 6. 帶有附加數據的OpenGL索引緩衝區對象
- 7. Vulkan深度緩衝區位置重構
- 8. OpenGL的 - 緩衝區,着色
- 9. 繪製像素緩衝區使用OpenGL的Android
- 10. 裁剪像素緩衝區
- 11. OpenGL - 頂點緩衝區對象沒有繪製到屏幕
- 12. kmalloc中的緩衝區是否也是DMA安全緩衝區?
- 13. 不能與緩衝區對象繪製
- 14. OpenGL 2.1繪製不同緩衝區的對象索引
- 15. Vertex緩衝區對象干擾OpenGL ES 2.0中的紋理
- 16. OpenGL的頂點緩衝區對象不起作用
- 17. OpenGL ES 1.1中的頂點緩衝區對象不工作
- 18. OpenGL 2.1中的頂點緩衝區對象
- 19. 繪製在OpenGL多個對象用不同的緩衝區
- 20. 相當於緩衝區上的fgets?
- 21. OpenGL FBO與MRT寫回緩衝區
- 22. opengl反向幀緩衝像素
- 23. 使用像素緩衝區對象異步讀取數據gpu
- 24. 讀緩衝區對象
- 25. 當點有相同的深度時,opengl深度緩衝區變慢
- 26. 使用OpenGL的幀緩衝區對象(FBO)進行圖像處理?
- 27. OpenGL像素緩衝區直接在Linux和Mac OSX屏幕上
- 28. OpenGL臨時緩衝區
- 29. OpenGL ES深度緩衝區
- 30. 模板緩衝區在OpenGL
PBO是否適用於異步像素傳輸?這是在傳輸操作和隊列的異步性質。 –