什么是DirectX?什么是OpenGL?API的作用

API(Application Programming Interface),可以理解为电脑的一个中间层,用于代码和不同的硬件进行沟通
API相当于一系列函数的集合,程序可以直接通过这些函数进行构建,不需要访问更底层的东西,软件的开发门槛也就降低了
API的意义在于简化编程的操作,常见的API有三种,DirectX、OpenGL。
正确来说,OpenGL是图形API,而DirectX是各种API的集合,其中也包含图形API-Direct3D

图形API,是为图形计算设计的,在游戏中用作游戏引擎和显卡驱动、系统层之间的桥梁。OpenGL相比DirectX更加开放,OpenGL是由KhronosGroup运营的,是跨平台,对于系统没有限制,而DirectX是微软开发的,仅支持Windows和Xbox。此外,OpenGL的学习门槛也更低,开发人员更容易上手,缺点是效率更低,新特性较少,往往不如DirectX3D

OpenGL在所有领域都有参与,包括许多的专业软件,而Direct3D在游戏领域更常见,除了Direct3D以外,Direct家族还有很多API,如Direct2D是负责2D图形的,DirectCompute是负责通用计算的,XAudio是负责音频的,XInput是负责Xbox手柄的。OpenGL也有相应的API,如Vulkan也是图形API,OpenGL ES是移动端的图形API,WebGL是网页的图形API,OpenCL是通用计算的。

DirectX是最近一次更新是DX12,它的游戏画面相比DX11没有提升,但DX12在效率上提升明显。DX12的流程更广泛,连接游戏引擎、显卡驱动、底层系统。
在DX11时代,驱动和系统层会代替开发者来管理硬件资源,但驱动不一定完全理解软件的需求,只有开发者才最明白自己的软件。
DX12赋予了开发者更多的管理权限,更加接近底层硬件,可以让开发者更自由地和硬件直接交流,这样一来开发者就有了更大的调整空间,来给游戏做出优化。
DX12减少了API带来的CPU占用,支持更多Draw Call,这样就可以更好的利用上多核处理器了。

OpenGL的继任者Vulkan也是底层API,也可以自由地和底层硬件进行交流。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值