gpt4 book ai didi

Java 游戏引擎

转载 作者:IT老高 更新时间:2023-10-28 21:04:38 30 4
gpt4 key购买 nike

我最近一直在研究游戏开发,我的第一门编程语言是 Java。在玩了许多用 c++ 开发的令人惊叹的游戏之后,我想知道为什么 Java 在游戏行业中没有大量使用。我查看了 jMonkeyEngine 3 和其他一些游戏引擎环境,但我看到的屏幕截图远没有那么令人惊叹。 EA 的《极品飞车》热追和 ubisoft 的《刺客信条》等游戏都传达了这种真实感。为什么Java不能出这样的行业实力游戏?是艺术品吗?

Java 和 C# 具有自动垃圾回收功能,而 C++ 则没有。程序员必须更加注意内存使用情况以避免悬空指针等。

谢谢大家。

最佳答案

Java and C# has automatic garbage collection and c++ doesn't. The programmer has to pay closer attention to memory usage to avoud dangling pointers and so on.

你自己已经回答了你的问题。

在游戏编程中,垃圾收集不是优势。即使 Java 在大多数任务上的性能或多或少与 C++ 相当,而且 JIT 甚至可以进行非常激进的优化,超过静态分析期间可以完成的优化;垃圾回收可以让帧率在最糟糕的时刻下降。

此外,对于图形密集型任务,Java 也不是很合适,因为有很多东西被运行时认为是不安全的,因此是被禁止的(比如转换指针以重新解释数据)。

另一个重要的问题是行业中已经确定的技术。 C++在游戏行业的惯性是巨大的。今天所有的游戏开发者都知道 C 和 C++。拥有大量可供雇用的开发人员可以减少管理风险之一,即离开公司的关键人员。

尽管如此,还是有一些成功的游戏,其中一些部分是用 Java 编写的,例如 Vampire: The Masquerade - Redemption .

较新的游戏,例如 Minecraft完全用Java编写;但它没有采用最先进的图形,因为重点更多地放在虚拟环境的动态特性上。

许多其他游戏和引擎的运行时支持基于高性能渲染和网络平台(用 C/C++ 编写)构建的托管(安全自动内存分配和收集)脚本语言,例如 Unreal Engine例如。

关于Java 游戏引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796605/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com