`
leogao_emcom
  • 浏览: 81212 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

有关视频播放类软件和游戏软件是选择GDI开发好还是DirectX开发好

阅读更多

发现不少人用GDI开发一些图形程序,它位于Windows图形子系统中,是设备无关的图形引擎,所以很多人认为游戏开发也可以使用GDI,这种观点看起来没有错,实际上GDI也确实可以用来开发游戏,但是它必须依赖于HAL(硬件抽象层)中的视频端口驱动程序以及视频设备(显卡)驱动程序通信才能通知具体设备渲染出画面,效能上比较差,如果一个大型程序用GDI做运行起来就比较吃力(我的观点),所以微软还提供了DirectX包,它可以直接操作硬件(所以起名叫做Direct),效率比较高(它可以越过HAL和驱动程序,直接和设备驱动通信),所以现在的2D/3D图形引擎基本是使用DirectX作为底层来开发,所以基本上GDI可以作为桌面应用窗口的重绘和一些特殊效果的绘制,

另一方面要是开发视频播放软件和游戏,最好使用DirectX或者OpenGL.

 

另外这里有一个推论,因为DirectX是基于COM的组件,如果用C#之类的托管代码来调用的,Pinvoke也是需要损失效率的,因为不仅仅需要参数的封送,还需要很多的处理过程,那么直接操作DirectX就很好了,不要使用托管代码来写游戏之类的软件,虽然可以,但是效能较低,还是使用C/C++这样的非托管代码好一些.在VS IDE中唯一能兼顾非托管代码和托管代码的就是VC++了,不要使用C#干这些事情了哦

分享到:
评论

相关推荐

    visual c++ vc开发编写2d游戏之 游戏场景移动及像素碰撞 源码 用的gdi没用directx

    visual c++ vc开发编写2d游戏之 游戏场景移动及像素碰撞 源码 用的gdi没用directx

    DirectX编程轻松入门(精)

    微软的DirectX比Windows GDI要快好几倍,可用于不同的语言和多种平台,支持从绘制象素到高级3D图象,从播放简单声音到数字音乐,从键盘控制到反震手柄……它给你游戏编程所需的一切(有点夸张),本文带你轻松进入...

    DirectX与VB.NET程序开发PDG

    DirectX与VB.NET程序开发PDG

    Managed DirectX 3d 入门教程.doc

    Managed DirectX +C# 开发(入门篇) 1:在整理过程中,有些内容为从网上找的资料,部分为翻译国外文章,正所谓“天下文章一大抄,就看会抄不会抄。”,如果侵犯了你的个人权益,可同我联系; 2:以前的开发环境为VS...

    TeeChart(.net 图型控件)

    其他的透视输出有OpenGL(3D)、SVG、DirectX等,但是在实时绘制图表的时候,其处理速度没有普通的GDI处理快。  分解成几个模块以便减少执行时占用的空间  一个使用基本风格(线图,条形图,区域图,饼状图,点图)...

    一个C#写的射击类游戏源代码。

    一个我自己用C#写的射击类游戏源代码。 只用了GDI技术(不用DirectX或XNA)。具备基本的游戏结构,初学游戏开发的朋友可以参考。

    跳舞机 ver 1.0(源码)

    QQ:410000 e-Mail:chinasf@hotmail.com 开发环境:Delphi 7.0 , DirectX 9.0 SDK 资源内容:源码+执行文件+资源文件 1.wav 背景声音,也是游戏的核心 L1.Lvl 文本文件,可编辑,是舞步脚本 (由于WAV文件格式太大,...

    DirectComputeLibrary:DirectX 11中易于使用的Direct Compute库

    直接计算库想法是开发一个CLI库,以促进DirectX 11(在将来的12)中使用Direct Compute。 这是一项正在进行的工作,将使用MIT许可证发布。链接器输入依赖性也可以在测试仪上使用它们! kernel32.lib user32.lib gdi...

    ASL游戏引擎及其DEMO泡泡堂(含源码)

    强大的可扩展GUI系统,模仿VCL的层次和接口,使用起来类似在C++ Builder下的开发,实现了各种常用控件。另有支持Zip的文件IO、Ini文件解析、音频播放、输入处理、精密时钟等各模块。引擎纯面向对象封装,接口简洁,...

    VC++场景游戏,人物移动快一点

    内容索引:VC/C++源码,游戏编程,VC游戏源码 VC++场景游戏,人物移动,学VC、编游戏中的示例,它的实现,靠的是以下知识和技术: 1.建立DirectX环境和创建工作页面的方法。 2.各种页面内容的拷贝方法。 3.GDI与...

    WPF演示 实现发光的字体和模糊按钮

    WPF是微软的新一代图形开发技术,主要是基于Directx技术。使用WPF,可以非常容易的创建各种特效。基于GDI/GDI+开发则非常的困难

    PainterEngine:PainterEngine是带有软件渲染器的游戏引擎,PainterEngine可以移植到支持C的任何平台上

    PainterEngine   PainterEngine 是一...  PainterEngine已经被使用在多个Windows/Linux/Android/iOS/嵌入式项目中,PainterEngine最终将渲染一个RGBA(32bit)的图形缓存,您可以使用OpenGL/ES,DirectX,Direct2D,GDI,Q

    LightningChart图表的安装与授权管理

    LightningChart (LightningChart Ultimate) 软件开发工具包是微软Visual Studio 的一个插件,专攻大数据可视化呈现问题,用于 WPF(Windows Presentation Foundation)和 Windows Forms .NET 平台。 LightningChart...

    TX_SDK_3.07.zip

    曾用名OpenDWG 、DWGdirect,创建CAD和技术图形程序的c++API。功能: 支持DWG, DXF, 和BDXF 文件格式: 读取AutoCAD...保存AutoCAD 12 至AutoCAD 2011的dwg文件显示dwg和dxf文件和选择图形对象,支持GDI,OpenGL和DirectX.

    VC++.NET案例开发集锦源代码.part1

    第二章 图形图像处理—GDI+编程 案例1 绘制风格迥异的直线 案例2 绘制贝济埃曲线 案例3 不规则窗体的实现 案例4 如何在上传的图片上加上版权文字 案例5 在图片中绘制水印效果图 案例6 动态多边形 案例7 ...

    自制小工具自动生成测试用例

    由于最近做一个项目需要对MATLAB电路图做测试,且需要满足MCDC且... 有两种现实模式:GDI+、D3D 自动生成测试用例 开发环境:Directx SDK, C# 2005 D3D现实还不是很成熟,如果有朋友感兴趣的话欢迎继续完善.

    易语言程序免安装版下载

    修改扩展界面支持库三,解决高级选择夹会导致所在窗口的收不到“首次激活”事件的BUG,相应地修改了核心库和开发环境。 10. 为所有支持库文件统一添加了版本信息。 ------------------------------------------...

    DrectUI 引擎源码分享-易语言

    我是忠实的E爱好者,而且重度痴迷各种好看的UI, 结合我IOS的开发经验,做出来了一套类似IOS开发的流程的DrectUI引擎框架。 现在拿出来分享一下,大家共同进步。现在只是把我脑子里的东西都实现了一遍,可能会更新...

    使用托管直接声音和VB.NET播放和可视化WAV文件

    “循环缓冲区”是在VB.NET(VS 2003)中开发的应用程序。

Global site tag (gtag.js) - Google Analytics