在pygame中使用VRAM(图形卡内存)获取图像

时间:2019-02-04 21:09:00

标签: python pygame

我正在使用Python和Pygame编写2D游戏,现在我想使用内部图形内存将图像加载到其中。

我有一个Intel HD图形卡(2GB VRAM)和一个Nvidia GeForce(4GB VRAM)。 我想使用其中之一将图像从硬盘驱动器加载到其中(以使用那里的图像)。 我认为这可能是个好主意,因为我(几乎)不需要VRAM。

您能告诉我是否可行以及如何实现?我不需要GPU加速。

1 个答案:

答案 0 :(得分:0)

您必须使用FULLSCREENDOUBLEBUFHWSURFACE标志创建窗口。

然后,您可以通过使用HWSURFACE标志创建它来创建和使用硬件表面。

您还必须使用pygame.display.flip()而不是pygame.display.update()

但是pygame本身也不鼓励使用硬件表面,因为它们有很多缺点,例如
-没有鼠标光标
-仅在全屏模式下工作(至少那是pygame的文档所说的内容)
-您不能轻易地操纵表面
-它们可能不适用于所有平台

(而且我从来没有透明地与他们合作)。

甚至还不清楚您是否真的获得了出色的性能启动。

当pygame切换到SDL 2并使用SDL_TEXTURE而不是SDL_HWSURFACE时,也许他们会在将来的pygame版本中更好地工作。...