多少个曲面是合理的?

How many surfaces is reasonable?

同时使用多少个pygame.Surface实例才合理?

更准确地说,它的成本是多少:

因此,对于与应用程序相关的其他操作,列表(或任何其他容器)中可以保留多少个表面,每帧可以块化多少个表面?


由于这可能过于宽泛,这里有一个具体的情况。我想制作一个带有重复图案的动画背景。我希望图案的每个元素都独立移动,所以我为每个元素使用一个表面。

如果我想显示一百个元素,每个元素使用一个表面是否仍然可以接受?

我制作的游戏中有超过一万个表面的数组。它运行就好了。你不应该害怕使用很多表面,发疯。

如果你看过《饥荒》游戏,我正在制作一款类似的游戏。我有 15 个不同的生物群落,每个生物群落都有多个地砖用于变化。仅此一项就将其推过 100 多个表面。然后我有一堆不同的植物,比如树、浆果丛、食肉植物等。这些植物种类繁多,在某些地方你可以一次加载一百个。同样,每一个都有变化。我还有很多移动的实体,比如巨型蜘蛛之类的。某些类型的实体需要一百多个表面,仅用于可能从各种可能的动作中出现的所有动画。

总而言之,我可能一次最多显示一千个表面,加载了两万多个。游戏运行良好,甚至可以 运行 60 fps;但正如预期的那样,并非没有广泛使用线程。

结论:假设没有限制,因为也可能没有。