Gav*_*vin 8 opengl api directx 3d graphics
当我们开发网页时,我们可以根据市场 份额广泛地确定支持哪些浏览器.
当我们在.NET开发,我们可以大致制定出以开发.NET版本基于其Windows版本 安装了它.
但是在开发OpenGL或Direct3D应用程序时,我们如何知道哪些人(我的意思是"人"而不是"硬核游戏玩家"或"使用CAD的公司":P)正在使用?有关于此类事情的统计数据吗?是否有一些人们用来确定支持哪个版本的常用逻辑?正如大多数公司已经支持(可能直到最近)网页中的最低IE6一样,是否有一个普遍的共识来支持最低限度的OpenGL 1.5或DirectX 8等等?
我注意到我们可以找出哪些特定的视频卡支持这些API的哪些版本,但我们如何知道人们实际使用哪些显卡,是否有任何类型的研究?
NB我对OpenGL更感兴趣,因为我正在使用它,但我提到Direct3D,因为我认为同样的问题适用.
3d硬件的市场碎片一直是个大问题.没有简单的答案.
您需要定义您的用途.这是一款以休闲为导向的游戏,您打算向多年未更新电脑的人销售吗?这是一个针对工作站级硬件的业务应用程序吗?你是在寻找一个普通的中间游戏买家吗?这比像你想要卖给那些根本不购买游戏的人的屏幕保护程序这样的游戏更简单吗?你需要支持笔记本电脑吗?上网本?
OpenGL的市场碎片比使用DirectX要差得多.Khronos集团的官方标准要求都很好.但硬件供应商往往很难更新其驱动程序以符合标准.GL规范要求许多功能,但只能在商业软件中绝对无法使用的回退软件路径中实现.新的OpenGL 3.1规范试图通过删除对大多数旧的,支持不足的功能的支持来改善这种情况.但是,如果您需要支持超过两年的硬件(或大多数现代英特尔集成GPU),那么GL 3.1的目标太高了.
Steam硬件调查(http://store.steampowered.com/hwsurvey)是在游戏购买者中开始一般硬件使用的好地方.Steam是最受欢迎的数字游戏发行服务,涵盖从休闲到核心的各种游戏.他们会定期重置数字以使其保持最新状态.去年他们报告说他们有2500万活跃用户,所以样本人口非常好.
因此,您可能需要更多地缩小目标客户群.我建议选择一些您认为具有类似客户群的最新竞争应用程序,并将目标硬件基于他们的需求.
OpenGL 2.1是一个不错的选择.较新的OpenGL 3不提供更多功能.无论如何,你必须检查所有OpenGL扩展的可用性,所以你不要因为坚持使用2.1而失去太多.
对于DirectX:使用DirectX 9c.这是仍在WindowsXP上运行的最新版本.司机稳定且非常成熟.DirectX 10提供了更多功能,但您将锁定仍运行WindowsXP的用户群.
关于非游戏玩家的兼容性:不支持这些API的图形卡(至少达到可用程度)已经在五年多前消失了.鉴于PC的典型生命周期,您几乎可以肯定没有人会遇到问题.
如果有任何用户抱怨该软件没有在他10岁的matrox-parhelia卡上运行,他应该购买他能买到的最便宜的显卡.它将运行得更快,并且将花费一小部分软件.