知识卡片
显式API用错误检查换性能
内容
传统图形API(如OpenGL)由驱动在运行时持续跟踪对象状态、自动管理内存并做同步和错误检查,这对开发者友好,但即使程序已经调试通过、逻辑完全正确,这些检查仍会在每次调用时消耗CPU时间。Vulkan把状态跟踪、内存管理和同步的责任转移给应用程序,把正确性检查抽成可选的”层”,只在开发阶段手动开启,发布时完全移除,代价是应用出错更容易直接导致崩溃或画面错乱,且没有友好的报错信息。这是一种把”安全性开销”和”运行时性能”解耦的思路:调试期用层换可诊断性,发布期用零检查换速度,而不是让两者永远绑死在一起、被迫为所有场景支付同一份开销。
参考来源
《Vulkan 应用开发指南》第1章《Vulkan概述》