Windows XP、Vista和现在的Windows 7,这对软件公司来说是维护的噩梦吗?

3

对于像游戏这样的软件应用程序,这是否意味着软件公司需要维护三个特定库的大量额外编码?

我知道这很难说,但总的来说,对于游戏开发,是否有特定的软件领域需要他们写三次才能在所有三种版本的Windows上运行?

我猜核心软件将不受影响,但可能需要一些驱动程序是特定版本的?

6个回答

3

这要看你与操作系统的接近程度。如果只是使用.NET框架或DirectX,那么在不同操作系统之间可能没有太大的变化。但如果你在编写驱动程序或依赖于Win32 API,则肯定会有微妙或明显的变化。


通常情况下,API 的更改都是相当流畅的,并且有明显的文档记录,除了明显的错误。 - GEOCHET
没错 - 这就是我说它可能是微妙变化的原因。 - Jon Tackabury

1
如果你的代码一开始就写得正确,那么在支持操作系统升级方面就不需要太大的投入。使用像.NET框架这样的东西可以更好地保证这一点。
此外,为什么游戏需要“驱动程序”呢?

0

不完全是这样。如果您使用DirectX 9,在所有三个Windows版本上都可以正常运行。额外的维护工作涉及诸如安装程序/卸载程序,有关Vista中新的游戏选项卡(如果您想使用它)等内容,但是如上所述,DirectX 9是所有三个版本上稳定的API。

您将在DirectX 10(不适用于WinXP)和OpenGL中遇到一些有趣的问题(Vista中的支持很奇怪)。


0
即使您使用像DirectX或.Net等“可移植”接口来提供相同的功能,负责任的软件开发人员也必须在每个支持的平台上进行QA和测试。
(请注意,我并不声称自己是一个负责任的软件开发人员。:-))

@Die In Sente:你的观点是什么?你认为每隔一两年为新操作系统进行QA和测试是一场“噩梦”吗? - GEOCHET

0
许多游戏开发者,包括我所在的工作室,使用管理跨平台问题的引擎。我们正在使用虚幻引擎制作游戏,并且它可以轻松地移植到PS3、Xbox和PC上,除了它们之间的性能差异外没有任何问题。引擎通常会处理平台之间的差异。

0
作为一名 .Net 开发人员,我发现当运行以 XP 为原始目标构建的应用程序时,大多数问题都是我们做错了事情,只是碰巧在 XP 上工作正常(大多数使用系统颜色,在 XP 上看起来还不错,但对于 Vista 来说是错误的 -- 例如,默认的 Vista 主题会导致黑色背景上的黑色字体)。
这是最好的巧合编码方式(我们太天真了,不知道它是错误的)。然而,一旦我们开始在 Vista 和 XP 上进行测试,我们就开始生产更好的 Windows 产品。

此外还有那些使用硬编码路径的人以及从未遵循不将数据存储在程序文件路径中的规则的人...是的... - GEOCHET

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接