- 16
- 0
- 约3.63千字
- 约 43页
- 2017-10-05 发布于湖北
- 举报
次世代图形接口 Vulkan 对行业的影响
次世代图形接口 Vulkan 对行业
的影响
张静
GPU 架构师 @ NVIDIA
README
@ NVIDIA 上海
负责硬件部门的 OpenGL / Vulkan 性能分析工具
游戏行业经验
2K Games
Ubisoft
微软 Xbox 部门
译者
OpenCV 2 计算机视觉编程手册
Processing 语言权威指南
联系方式
/vinjn
/people /vinjn
vinjn.z@
知乎专栏 / 微信订阅号:黑客与画家
三个问题
Vulkan 是什么?
Khronos 为什么重新造轮子?
什么项目需要用 Vulkan ?
Vulkan - 德语中的火山 - 不是福尔康
Vulkan 是为今后 20 年准备的图形接口
是 OpenGL / ES 的替代者
现代、高效的设计
开放的工业标准
跨平台 (除了苹果系统……)
成立的背景
2012 年,Khronos 成立项目组重新设计 OpenGL ,不了了之
2014 年,项目提升至最高优先级,重启为 GL Next
2015 年 GDC ,首次对外公开项目细节
2016 年 GDC ,发布 1.0
得到硬件厂商支持
得到游戏厂商支持
得到工具厂商支持
新面孔:Google, Nintendo, PIXAR, Oculus VR,
Valve, EA, Blizzard
The Talos Principle
Dota2
Doom
OGL 出了什么问
题?
问题 一:OpenGL 编程模型与 GPU 硬件不
一致
OpenGL 被发明于 25 年前,用于昂贵的图形工作站中。
近年来移动 GPU 的兴起,多核 CPU 也成为常态,而 OpenGL 还是
没变。
GPU 甚至被用于图形以外的领域,无人机、计算机视觉、汽车、深
度学习等,OpenGL 无能为力。
解决方法:Vulkan 使用接近硬件的编程模型
问题 二:驱动工作量过大,行为难以预测
原因在于
OpenGL 开发者
在任意时间提供重要信息
在任意时间改变这些信息
对 GPU 不友好
OpenGL 驱动
会延迟工作,将工作转移给另一个线程
甚至基于猜测,无视开发者的命令
为了满足灵活性,增加大量的状态检验
跟踪资源之间的依赖
解决方法
开发者通过 Vulkan 实现对硬件的直接控制
在合适的时间
告诉驱动打算做什么
提供足够的细节
Vulkan 驱动会
在你让它工作时
做该做的事情
不做猜测,猜测 = 浪费
举例:OpenGL 的状态机被 PSO 取代
OpenGL 中的状态改变是全局的,在 Vulkan 中被 Pipeline State
Object (PSO )替代
强迫你提前准备渲染的状态
你的工作量上去了
驱动的工作量降低了,更好优化、更快
OpenGL
// 可随时随地修改渲染状态
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE/GL_FILL);
Vulkan
// 预先创建两个 PSO 对象
vkCreateGraphicsPipelines(...pipelineCreateInfo, ..., pipelines.solid);
rasterizationSta
您可能关注的文档
最近下载
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
- 2026年国家公务员考试申论真题及参考答案(考生回忆版).docx VIP
- 部编版语文二年级上册期中常考七大重点题型专项训练.docx VIP
- 机器人操作系统(ROS)及仿真应用 课件全套 第1--9章 Linux Ubuntu入门基础--- 基于ROS的服务机器人应用实例.ppt
- 压疮的预防及护理技术操作考核评分标准编辑.docx VIP
原创力文档

文档评论(0)