博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vulkan的分层设计
阅读量:4505 次
发布时间:2019-06-08

本文共 577 字,大约阅读时间需要 1 分钟。

Vulkan驱动层提供了简单高效的API。
作为Vulkan API的使用者,我们要严格遵循Vulkan API的使用规则。如果我们违反了这些规则,Vulkan只会返回很少的反馈,它只会报告一部分严重和重要的错误,比如内存不够啦、指针越界啦等等。
如果我们想获取其他更多的错误提示信息怎么办?
这就需要启用Vulkan 的“调试验证层"。 调试验证层由多个层组成的,可以根据需要搭配,比如内存使用情况、输入参数验证、对象生命周期检查等等。开启越多的调试和验证功能,就意味着程序会越慢。这些功能在程序调试和查找bug的时候非常有用,但在程序正式发布的时候,最好默认还是禁用。

Vulkan的分层

  • 应用层 - 必选
    • 应用程序,或者基于Vulkan的显示引擎
  • 加载层 - 可配置
    • SDK会自带默认的loader实现,但用户也可以自己实现加载层。
  • 调试/验证层 - 可选
    • 输入参数验证
    • 引用对象计数
    • 性能跟踪
    • 调试
    • 线程安全
    • ……
  • 驱动层 - 必选
    • Vulkan核心实现

分层的优点

  • 简洁
    • 驱动层只专注核心功能的实现
  • 高效
    • 大量的调试和验证功能由应用层控制,驱动层执行效率高
  • 扩展强
    • 除了驱动层,其他的部分用户都可以自己扩展。比如实现个录制回放功能也变的很容易。

转载于:https://www.cnblogs.com/wuwuwu/p/6335132.html

你可能感兴趣的文章
c#语言几种常见循环代码
查看>>
SQL多表连接查询(详细实例)
查看>>
Http中涉及到的知识点总结
查看>>
测试计划
查看>>
adb命令记录
查看>>
Ecstore Nginx Rewrite(去掉链接中的index.php) ECSTORE 伪静态
查看>>
Dash
查看>>
BZOJ 1876: [SDOI2009]SuperGCD
查看>>
swift初学日志
查看>>
CCF真题之出现次数最多的数
查看>>
Eclipse上GIT插件_客户端配置
查看>>
使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript
查看>>
JavaScript浏览器对象之二Document对象
查看>>
算法导论 第二部分——排序和顺序统计量
查看>>
监督学习——AdaBoost元算法提高分类性能
查看>>
SharePoint 使用代码创建 SPWeb/SPSiite/SPWebApplication以及WebPart添加到页面与删除 (三)...
查看>>
[原创]在Linux系统Ubuntu14.04上安装部署docker。
查看>>
网络对抗技术 实验四
查看>>
关联Anaconda和最新Pycharm2018.3.2
查看>>
DataGridView列的宽度、行的高度自动调整
查看>>