Godot 如何使用 GDScript 变得快速而 Pygame 使用 Python 却如此缓慢?

How does Godot manage to be fast with GDScript while Pygame is so slow with Python?

我看到有人抱怨 Pygame 怎么这么慢,有 C 和 SDL 的后端,Godot 似乎有很好的性能,即使使用 Python-like 语言。

Godot 是一个游戏引擎,而 Pygame 是一组跨平台的 Python 模块。

游戏引擎使用像 C/C++ 这样的低级编译语言在后台处理很多与游戏循环相关的东西。这意味着开发人员可以使用 C# 或 GDScript 等高级语言编写脚本,其中包含引擎在执行的特定点调用的方法。引擎本身处理渲染、更新物理、轮询输入等等。

使用 Pygame 你可能会自己编写游戏循环并调用一堆库来轮询输入、draw/render 图形、更新物理等。这意味着更大的执行块时间花在执行 python 脚本上,而不是在 Godot 中说 GDScripts。