编辑“︁
Vulkan
”︁(章节)
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== 特性 == [[File:Division of labor cpu and gpu.svg|缩略图|OpenGL与Vulkan都是图形渲染API,GPU处理[[着色器]],而CPU执行其他任务。]] Vulkan旨在提供更低的CPU开销与更直接的GPU控制,其理念大致与Direct3D 12和Mantle类似。<ref name=":0">{{Cite news|url=http://www.tomshardware.com/news/khronos-group-vulkan-graphics-api,28678.html|title=Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API|date=2015-03-03|work=Tom's Hardware|accessdate=2017-02-18|language=en}}</ref> 以下是Vulkan相对于上一代API的优势:<ref>{{Cite web|url=https://fosdem.org/2016/schedule/event/vulkan_graphics/|title=FOSDEM 2016 - Vulkan in Open-Source|accessdate=2017-03-17|website=Fosdem.org|language=en|archive-date=2016-03-09|archive-url=https://web.archive.org/web/20160309222549/https://fosdem.org/2016/schedule/event/vulkan_graphics/}}</ref> * Vulkan API适用于从高性能电脑到移动低功耗设备的显示卡(OpenGL具有名为[[OpenGL ES]]的移动设备API子集,它仍是支持Vulkan设备的备选API)。 * 相比于Direct3D 12,Vulkan与前身OpenGL类似,受多种操作系统支持。Vulkan已经能在[[Windows 7]]、[[Windows 8]]、[[Windows 10]]、[[Tizen]]、[[Linux]]与[[Android]]上运行([[iOS]]和[[macOS]]有第三方支持<ref name=":1">{{Cite news|url=https://moltengl.com/moltenvk/|title=MoltenVK {{!}} Run Vulkan on iOS and OS X|newspaper=Molten|accessdate=2017-02-18|language=en-US|archive-date=2018-01-05|archive-url=https://web.archive.org/web/20180105100958/https://moltengl.com/moltenvk/|dead-url=yes}}</ref>)。 * 通过批量处理(Batching)减少CPU负载,使CPU可以执行更多其他的计算或渲染任务。<ref name=":0" /><ref>{{Cite news|url=http://blog.imgtec.com/powervr/vulkan-high-efficiency-on-mobile|title=Vulkan: High efficiency on mobile - Imagination Technologies|date=2015-11-05|newspaper=Imagination Technologies|accessdate=2017-02-18|language=en-GB|archive-date=2015-11-09|archive-url=https://web.archive.org/web/20151109005302/http://blog.imgtec.com/powervr/vulkan-high-efficiency-on-mobile|dead-url=no}}</ref> * 在多核心CPU上,Vulkan能对核心与线程进行优化。Direct3D 11与OpenGL 4最初为单核心CPU设计,尽管后来出现了针对多核心CPU优化的扩展,不过与Vulkan相比,优化仍不是很好。<ref>{{Cite news|url=http://blog.imgtec.com/powervr/vulkan-scaling-to-multiple-threads|title=Vulkan: Scaling to multiple threads - Imagination Technologies|date=2015-11-24|newspaper=Imagination Technologies|accessdate=2017-02-18|language=en-GB|archive-date=2015-11-26|archive-url=https://web.archive.org/web/20151126065107/http://blog.imgtec.com/powervr/vulkan-scaling-to-multiple-threads|dead-url=yes}}</ref> * 减少了[[驱动程序]]的开销与维护工作。OpenGL使用高级着色语言[[GLSL]]编写[[着色器]],不同的驱动在程序运行时需要执行自身的GLSL[[編譯器|编译器]],将程序的着色器转换为GPU可执行的机器代码。而Vulkan驱动将着色器语言预先转化为{{le|SPIR-V|Standard Portable Intermediate Representation}}(Standard Portable Intermediate Representation)的中间二进制格式,其行为类似于[[Direct3D]]的[[HLSL]]着色器。通过着色器预编译,应用程序加载速度更快,并且3D场景可以使用更多种着色器。Vulkan驱动只需对GPU进行优化并生成代码,这使得驱动程序更容易维护,驱动程序包更小(目前GPU供应商仍需在驱动程序中提供OpenGL与OpenCL的支持)。<ref>{{cite web|url=https://www.khronos.org/registry/spir-v/papers/WhitePaper.pdf|title=An Introduction to SPIR-V|accessdate=2017-02-18|author=|date=|last=Kessenich|first=John|publisher=[[Khronos Group]]|archive-date=2015-03-09|archive-url=https://web.archive.org/web/20150309065154/https://www.khronos.org/registry/spir-v/papers/WhitePaper.pdf}}</ref> * 计算与图形处理的统一管理,因此Vulkan无需与单独的计算API配合使用。 [[英伟达]]在2016年时指出,由於OpenGL的复杂度和维护难度比Vulkan低很多,在多数情况下也能提供理想的整体性能,现阶段OpenGL仍是个很好的选择。<ref>{{Cite news|url=https://developer.nvidia.com/transitioning-opengl-vulkan|title=Transitioning from OpenGL to Vulkan|date=2016-02-11|newspaper=NVIDIA Developer|accessdate=2017-03-17|language=en|archive-date=2020-04-25|archive-url=https://web.archive.org/web/20200425183554/https://developer.nvidia.com/transitioning-opengl-vulkan}}</ref> [[AMD]]表示, Vulkan支援Close-To-Metal控制的獨特能力可加快跨 Windows和 Linux的效能並且提高影像品質。現今無其他圖形 API 提供如此強大的作業系統相容性、成像功能和硬體效率組合<ref>{{cite web|url=https://www.amd.com/zh-hant/technologies/vulkan|title=AMD Vulkan API|publisher=AMD|access-date=2020-07-26|archive-date=2019-07-14|archive-url=https://web.archive.org/web/20190714110304/https://www.amd.com/zh-hant/technologies/vulkan}}</ref> 。 例如,CPU中包含的集成GPU可與高端專用GPU結合使用,以略微提高性能。 ===Vulkan 1.1=== 科納斯在[[SIGGRAPH]]2016上宣布Vulkan將支持自動多GPU功能,類似於Direct3D 12所提供的功能<ref>{{cite web|url=http://www.pcworld.com/article/3101843/software-games/vulkan-next-will-bring-better-support-for-vr-and-multiple-gpus.html|title=Vulkan Next will bring better support for VR and multiple GPUs|publisher=PC World|access-date=2017-03-17|archive-date=2018-12-06|archive-url=https://web.archive.org/web/20181206190153/https://www.pcworld.com/article/3101843/software-games/vulkan-next-will-bring-better-support-for-vr-and-multiple-gpus.html}}</ref> ,顯示驅動程序不再需要處理多個GPU的使用,相反,兩個或更多完全不同的GPU之間可以智能地分配工作負載<ref>{{cite web|url=http://www.anandtech.com/show/10067/ashes-of-the-singularity-revisited-beta/4|title=Ashes of the Singularity Revisited: A Beta Look at Direct3D 12 & Asynchronous Shading|first=Daniel Williams, Ryan|last=Smith|publisher=AnandTech|access-date=2017-03-17|archive-date=2022-04-22|archive-url=https://web.archive.org/web/20220422152924/https://www.anandtech.com/show/10067/ashes-of-the-singularity-revisited-beta/4}}</ref>。 科納斯於2018年3月7日發布了Vulkan 1.1<ref name="Khronos Group Releases Vulkan 1.1">{{cite press|url=https://www.khronos.org/news/press/khronos-group-releases-vulkan-1-1|title=Khronos Group Releases Vulkan 1.1|date=2018-03-07|work=The Khronos Group|access-date=2018-03-21|language=en|archive-date=2022-04-14|archive-url=https://web.archive.org/web/20220414153839/https://www.khronos.org/news/press/khronos-group-releases-vulkan-1-1}}</ref> 。它擴展了幾個核心功能,包括子集操作,例如多視圖、設備組、高級渲染和編輯操作程序跨流程API交互操作。這些核心功能還包括16位內存獲取高級計算,HLSL內存分佈支持,視頻流的顯示,處理和編程,通過許多視頻編輯解碼器生成的YCbcRr顏色格式化紋理的直接抽樣。同時,它還帶來了與[[DirectX]] 12的更好兼容性,顯式支持多GPU,光線跟踪支持<ref name="Larabel news_item&px=Vulkan-1.1.85-Released">{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-1.1.85-Released|title=Vulkan 1.1.85 Released With Raytracing, Mesh Shaders & Other New NVIDIA Extensions|last=Larabel|first=Michael|publisher=Phoronix|date=2018-09-19|accessdate=2018-09-19|archive-date=2022-05-11|archive-url=https://web.archive.org/web/20220511024831/https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-1.1.85-Released}}</ref><ref name="Larabel news_item&px=Vulkan-1.1.91-Released">{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-1.1.91-Released|title=Vulkan 1.1.91 Released With NV_ray_tracing, AMD Memory Overallocation Behavior|last=Larabel|first=Michael|publisher=Phoronix|date=2018-11-04|accessdate=2018-11-04|archive-date=2022-05-11|archive-url=https://web.archive.org/web/20220511024836/https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-1.1.91-Released}}</ref>,為下一代GPU奠定了基礎。<ref name="Bright">{{cite web|url=https://arstechnica.com/gadgets/2018/03/vulkan-1-1-adds-multi-gpu-directx-compatibility-as-khronos-looks-to-the-future/|title=Vulkan 1.1 out today, with multi-GPU support, better DirectX compatibility|last=Bright|first=Peter|publisher=Ars Terchnica|date=2018-03-07|accessdate=2018-03-07|archive-date=2022-04-29|archive-url=https://web.archive.org/web/20220429104711/https://arstechnica.com/gadgets/2018/03/vulkan-1-1-adds-multi-gpu-directx-compatibility-as-khronos-looks-to-the-future/}}</ref> ===vulkan 1.2=== 2020年1月15日,[[科納斯組織]]發布了Vulkan 1.2,將23個已經通過驗證的擴展集成到基本Vulkan標準中<ref name="Khronos Group Releases Vulkan 1.2">{{cite press|url=https://www.khronos.org/news/press/khronos-group-releases-vulkan-1.2|title=Khronos Group Releases Vulkan 1.2|date=2020-01-15|work=The Khronos Group|access-date=2020-02-27|language=en|archive-date=2022-05-11|archive-url=https://web.archive.org/web/20220511024831/https://www.khronos.org/news/press/khronos-group-releases-vulkan-1.2}}</ref>,大部份用來幫助提升Vulkan與其他圖形API之間的兼容層性能。 ===Vulkan 1.3=== 2022年1月25日,科納斯組織发布了Vulkan 1.3。<ref name="auto1">{{Cite web|url = https://www.khronos.org/news/press/vulkan-reduces-fragmentation-and-provides-roadmap-visibility-for-developers|title = Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1.3, Public Roadmap and Profiles|date = January 25, 2022|access-date = 2023-02-13|archive-date = 2022-01-25|archive-url = https://web.archive.org/web/20220125140157/https://www.khronos.org/news/press/vulkan-reduces-fragmentation-and-provides-roadmap-visibility-for-developers|dead-url = no}}</ref> 这次更新将另外23个常用的成熟的Vulkan扩展集成到基本的Vulkan标准中。 ===Vulkan 1.4=== 2024年12月3日,科納斯組織发布Vulkan 1.4。<ref>{{Cite web |title=Khronos Streamlines Development and Deployment of GPU-Accelerated Applications with Vulkan 1.4 |url=https://www.khronos.org/news/press/khronos-streamlines-development-and-deployment-of-gpu-accelerated-applications-with-vulkan-1.4 |website=The Khronos Group |date=2024-12-02 |language=en |access-date=2025-11-17}}</ref> === 计划中的功能 === 科纳斯在[[SIGGRAPH]] 2016上宣布,Vulkan将提供类似于Direct3D 12的多卡互联功能。<ref>{{Cite news|url=http://www.pcworld.com/article/3101843/software-games/vulkan-next-will-bring-better-support-for-vr-and-multiple-gpus.html|title=Vulkan Next will bring better support for VR and multiple GPUs|newspaper=PCWorld|accessdate=2017-03-17|language=en|archive-date=2018-12-06|archive-url=https://web.archive.org/web/20181206190153/https://www.pcworld.com/article/3101843/software-games/vulkan-next-will-bring-better-support-for-vr-and-multiple-gpus.html}}</ref>通过Vulkan,不同型号的显卡也能协同工作,而无需[[NVIDIA SLI]]或[[AMD CrossFire|AMD Crossfire]]的支持。Vulkan多卡互联功能允许API在多个不同的显卡之间智能分配负载,例如,CPU上的集成显卡与高端独立显卡协同工作,能够略微提升显示性能。<ref>{{Cite news|url=http://www.anandtech.com/show/10067/ashes-of-the-singularity-revisited-beta/4|title=Ashes of the Singularity Revisited: A Beta Look at DirectX 12 & Asynchronous Shading|last=Smith|first=Daniel Williams, Ryan|accessdate=2017-03-17|archive-date=2022-04-22|archive-url=https://web.archive.org/web/20220422152924/https://www.anandtech.com/show/10067/ashes-of-the-singularity-revisited-beta/4}}</ref> 在2017年5月发行[[OpenCL]] 2.2之时,Khronos Group宣布OpenCL将尽可能的汇合于Vulkan,以确使OpenCL软件在这两种API上灵活部署<ref>{{Cite web|url=https://www.pcper.com/reviews/General-Tech/Breaking-OpenCL-Merging-Roadmap-Vulkan|title=Breaking: OpenCL Merging Roadmap into Vulkan | PC Perspective|website=www.pcper.com|access-date=May 17, 2017|archive-url=https://web.archive.org/web/20171101062642/https://www.pcper.com/reviews/General-Tech/Breaking-OpenCL-Merging-Roadmap-Vulkan|archive-date=November 1, 2017|url-status=dead}}</ref><ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=article&item=siggraph-2018-khr&num=2|title=SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving – Phoronix|website=www.phoronix.com|access-date=2024-10-13|archive-date=2020-10-28|archive-url=https://web.archive.org/web/20201028152042/https://www.phoronix.com/scan.php?page=article&item=siggraph-2018-khr&num=2|dead-url=no}}</ref>。这已经由Adobe的Premiere Rush展示出来,它使用clspv开源编译器<ref name=":4">{{Citation|title=Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders: google/clspv|date=2019-08-17|url=https://github.com/google/clspv|access-date=2019-08-20|archive-date=2020-11-28|archive-url=https://web.archive.org/web/20201128054700/https://github.com/google/clspv|dead-url=no}}</ref>,编译了大量OpenCL C内核代码,从而在部署于Android的Vulkan运行时系统上运行<ref>{{Cite web|url=https://www.khronos.org/assets/uploads/developers/library/2019-siggraph/Vulkan-01-Update-SIGGRAPH-Jul19.pdf|title=Vulkan Update SIGGRAPH 2019|access-date=2024-10-13|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820222456/https://www.khronos.org/assets/uploads/developers/library/2019-siggraph/Vulkan-01-Update-SIGGRAPH-Jul19.pdf|dead-url=no}}</ref>。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息