DirectX究竟是做什么用的.
问:经常可以看到装某些游戏之前要装DirectX,这究竟是什么东西?一定要安装吗?
答:DirectX是一种接口方式,常见的有DirectX和OPENGL,一般的程序员只需要遵照相应的规范就可以完成程序的开发而不需要分别为不同的硬件提供不同的程序,解释起来比较麻烦,下面的文字是微软的官方解释:
Windows 支持 DirectX 8.0,它能增强计算机的多媒体功能。使用 DirectX 可访问显卡与声卡的功能,从而使程序可提供逼真的三维 (3D) 图形与令人如醉如痴的音乐与声音效果。DirectX 是一组低级“应用程序编程接口 (API)”,可为 Windows 程序提供高性能的硬件加速多媒体支持。
DirectX 使程序能够轻松确定计算机的硬件性能,然后设置与之匹配的程序参数。该程序使得多媒体软件程序能够在基于 Windows 的具有 DirectX 兼容硬件与驱动程序的计算机上运行,同时可确保多媒体程序能够充分利用高性能硬件。
DirectX 包含一组 API,通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些 API 控制低级功能(其中包括二维 (2D) 图形加速)、支持输入设备(如游戏杆、键盘和鼠标)并控制着混音及声音输出。构成 DirectX 的下列组件支持低级功能:
Microsoft DirectDraw
Microsoft DirectDraw API 支持快速访问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标准方法,并且使用加速驱动程序时可以更快更直接地访问。DirectDraw 为程序(如游戏和二维图形程序包)以及 Windows 系统组件(如数字视频编解码器)提供了一种独立于设备之外的方法来访问特定显示设备的功能,而不要求用户提供设备功能的其它信息。
Microsoft Direct3D
Microsoft Direct3D API (Direct3D) 为大多数新视频适配器内置的 3-D 调色功能提供界面。Direct3D 是一种低级的 3-D API,它为软件程序提供一种独立于设备之外的方法以便与加速器硬件进行有效而强大的通信。Direct3D 包含专用 CPU 指令集支持,从而可为新型计算机提供进一步加速支持。
Microsoft DirectSound
Microsoft DirectSound API 为程序和音频适配器的混音、声音播放和声音捕获功能之间提供了链接。DirectSound 为多媒体软件程序提供低延迟混合、硬件加速以及直接访问声音设备等功能。维护与现有设备驱动程序的兼容性时提供该功能。
Microsoft DirectMusic
Microsoft DirectMusic API 是 DirectX 的交互式音频组件。与捕获和播放数字声音样本的 DirectSound API 不同,DirectMusic 处理数字音频以及基于消息的音乐数据,这些数据是通过声卡或其内置的软件合成器转换成数字音频的。DirectMusic API 支持以“乐器数字界面 (MIDI)”格式进行输入,也支持压缩与未压缩的数字音频格式。DirectMusic 为软件开发人员提供了创建令人陶醉的动态音轨的能力,以响应软件环境中的各种更改,而不只是用户直接输入更改。
Microsoft DirectInput
Microsoft DirectInput API 为游戏提供高级输入功能并能处理游戏杆以及包括鼠标、键盘和强力反馈游戏控制器在内的其它相关设备的输入。
Microsoft DirectPlay
Microsoft DirectPlay API 支持通过调制解调器、Internet 或局域网连接游戏。DirectPlay 简化了对通信服务的访问,并提供了一种能够使游戏彼此通信的方法而不受协议或联机服务的限制。DirectPlay 提供了多种游说服务,可简化多媒体播放器游戏的初始化,同时还支持可靠的通信协议以确保重要游戏数据在网络上不会丢失。DirectPlay 8.0 的新功能即支持通过网络进行语音通信,从而可大大提高基于多媒体播放器小组的游戏的娱乐性,同时该组件还通过提供与玩游戏的其他人对话的功能而使团体游戏更具魅力。
Microsoft DirectShow
Microsoft DirectShow API 提供了可在您的计算机与 Internet 服务器上进行高品质捕获与回放多媒体文件的功能。DirectShow 支持各种音频与视频格式,包括“高级流式格式 (ASF)”、“音频-视频交错 (AVI)”、“数字视频 (DV)”、“动画专家组 (MPEG)”、“MPEG 音频层 3 (MP3)”、 “Windows 媒体音频/视频 (WMA/WMV)”以及 WAV 文件。DirectShow 还具有视频捕获、DVD 回放、视频编辑与混合、硬件加速视频解码以及调谐广播模拟与数字电视信号等功能
DirectX究竟是做什么用的.相关推荐
- 腾讯云大学大咖分享 | 自然语言处理技术(NLP)究竟能做些什么?
自然语言处理(Natural Language Processing,缩写作 NLP)是人工智能(AI)领域的一个重要分支,被广泛应用于聊天机器人.机器翻译和搜索引擎等场景.为帮助大家更好地理解NLP ...
- 什么是软件测试,软件测试究竟是做什么的
我犹豫了很久,想来想去还是写了一篇文章,这篇文章可以告诉你什么是软件测试? 来看看官方的回答: 软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性.完整性.安全性和质 ...
- 程序员究竟在做什么——职业程序员的工作内容(我们不是修电脑的),以及如何转型成为一名程序员?
作为一名在开发岗待了5年,现在在字节摸爬滚打的程序员,今天呢想跟大家一起聊一聊程序员每天究竟在做什么? 越来越多人在关注程序员这个职业,也有很多人在考虑成为一名程序员.但是我发现很多人对程序员这个职业 ...
- 一个公司的 CTO 究竟要做什么?
看到微博上关于<On the role of CTO>这篇文章讨论蛮多,所以我们把这篇文章翻译成了中文,希望对大家理解 CTO 这个角色更有帮助,也欢迎各位留言讨论不同的看法 :) 以下为 ...
- vb6 串口同时读取写入数据怎么避免冲突_分布式场景下的数据复制究竟怎么做...
主从复制 集群中有一个主节点,写操作都必须经过主节点完成,读操作主从节点都可以处理. 同步复制 数据在副本上落盘才返回. 优点:保证在副本上的数据是最新数据. 缺点:延迟高,响应慢. 异步复制 数据不 ...
- 手机游戏开发 - 究竟要做什么、怎么做(中)
游戏(软件)项目的三种时间和内容的安排方式: 第一.3个月内,必须上线.这种情况下,时间就是原因.时间确定,只能调整内容了. 第二.确定了的内容必须有.此时时间就是结果,做这么多内容,需要多少时间(评 ...
- 这个由中国黑客研究的“超级欺骗系统”,究竟能做什么?
上兵伐谋,其次伐交,其次伐兵,其下攻城.--孙子兵法<谋攻篇> 引子 某些职业天生受人敬畏,因为它和人的某个优秀特质相连.舞蹈,让人们想到优美的形体;长跑,让人想到坚毅的品质.而黑客,让人 ...
- ART基因序列生成器,究竟是做什么的?
ART是一款比较流行的模拟数据软件.可以模拟生成三大二代测序平台Illumina's Solexa, Roche's 454和Applied Biosystems' SOLiD的single-end, ...
- 当AI实现多任务学习,它究竟能做什么?
来源:脑极体 提到AI领域的多任务学习,很多人可能一下子就想到通用人工智能那里了.通俗意义上的理解,就像<超能陆战队>里的大白这样一种护理机器人,既能进行医疗诊断,又能读懂人的情绪,还能像 ...
最新文章
- C# 笔记 获取程序当前目录
- arXiv 精选:一文看尽六月最热五篇论文
- filezilla 设置filezilla使用明文密码_详解WordPress使用FTP上传主题和插件
- 哪个小姐姐是假的?Yann LeCun说合成人脸并不难分辨
- 分布式监控系统开发【day37】:需求讨论(一)
- @Autowired和可选依赖项
- 【笔试记录】2021/3/13美团
- C语言课后习题(32)
- 关注电子商务网站开发-《网站中常用的Jquery插件》
- HIbernate二级缓存的缓存策略
- 文员常用的8个excel函数
- python实现微信自动回复
- Java拾遗补阙 ----- Super、This关键字使用总结
- Windows下定时运行程序
- 腾讯通RTX拓展功能
- 神策数据:数字化营销助力鞋服企业转型
- Pytest如何查找用例耗时最长的N个
- 两个offer:rovi和凯捷中国,不知道如何选择
- HDLBits 系列(7)——Sequential Logic(Counters、Shift Registers、More Circuits)
- 使用Python批量合并多个工作簿中的同名工作表
热门文章
- java 滚动加载数据_[Java教程]浏览器滚动条快到底部时自动加载数据
- 玩战地风云2042的感想
- java获取当前时间所在一周的周一和周日日期
- Unity 垂直同步VSync
- 项目开发,我的名字不可能这么可爱——使用XML和Sqlite处理数据
- 关于个人读研一些看法 生活分享
- 1472. 双胞胎字符串
- 2021年茶艺师(中级)及茶艺师(中级)实操考试视频
- iphone无线网连接电脑怎么连接服务器,为什么iphone连不上电脑 多种解决方法【图文教程】...
- Android代码混淆配置说明