• Vulkan的分层设计



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

    Vulkan的分层


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

    分层的优点

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

  • 相关阅读:
    周总结5
    《梦段代码》阅读笔记01
    NABCD
    结对开发(四则运算)
    《人月神话》阅读笔记03
    周总结4
    移动端疫情显示
    周总结3
    《人月神话》阅读笔记02
    软件工程第四周作业
  • 原文地址:https://www.cnblogs.com/aiwz/p/6333094.html
Copyright © 2020-2023  润新知