繁体   English   中英

原生 VulkanSDK 与其 C++ 绑定之间是否存在明显的性能差距?

[英]Is there a significant performance gap bewteen native VulkanSDK and its C++ binding?

最近我在尝试学习vulkan,我发现虽然我找到的几乎所有教程或书籍都用C++教授vulkan,但它的API风格比C++更多C。自然,我找了它的官方C++ 818130我的问题:

原生 VulkanSDK 与其 C++ 绑定之间是否存在明显的性能差距? 或者更一般地说,C 库与其 C++ 绑定之间是否存在显着的性能差距?

通常,它与性能无关,而与设计范例有关。 CPP API 显然是一个 OOP 包装器,它可能会迫使您遵循一些您不想要的不良模式。 但是如果库架构本质上具有面向 object 的设计,它可能是非常无缝的包装器。

CC++编译器和链接器在这一阶段都得到了很好的优化。

一般来说 - 代码的性能是整个编程过程的结果 - 从最初的设计到编写代码的程序员,再到 CI 中部署的最后一步。 所以一般来说 - C 绑定比 C++ 快吗? 不。

关于 Vulkan - 这是一个低级库,绑定本身没有太大区别。
使用非常重要,因为Vulkan被认为比OpenGL更“低级”——这导致对缓冲区和整体程序流的更多控制。
Memory,IO,CPU,Graphics RAM都由开发人员控制,这是性能的主要关注点。

标准库很重要

C header 文件和C++ STD在实现上可能有所不同,这是选择语言时要考虑的最大点 -生态系统为程序员提供了什么? .
因为您可能需要一些vectormatrix结构以及用于游戏开发的良好math库。
这可能会影响您的选择。

基准和指标

没有什么是一成不变的。
如果您关心性能,那么您需要做的第一件事就是测量它。
这是一个很好的练习,你可以做 - C 绑定比 C++ 快吗?
只需在您的应用程序中使用基准测试并自行测试!

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM