pygame.display.update 和 pygame.display.flip 之间的区别
Difference between pygame.display.update and pygame.display.flip
如题所示,有什么区别吗?我当时使用 pygame.display.flip
,我在 Internet 上看到他们没有使用翻转,而是使用 pygame.display.update
。哪个更快?
Flip 将始终更新整个屏幕。如果你不给出参数,更新也会更新整个屏幕。但是,如果您将表面作为参数,它将仅更新这些表面。所以它可以更快,这取决于你给它的表面数量以及它们的宽度和高度。
pygame.display.flip
and pygame.display.update
的主要区别在于,
display.flip()
会更新整个显示的内容
display.update()
允许更新屏幕的一部分,而不是整个屏幕区域。不传递参数,更新整个显示
要告诉 PyGame 它应该更新屏幕的哪些部分(即在您的显示器上绘制),您可以传递一个 pygame.Rect
对象 ,或者它们的序列到 display.update()
函数。 PyGame 中的 Rect 存储 width
和 height
以及 x
- 和 y
- 位置坐标。
PyGame 的 built-in dawning functions and the .blit()
方法例如 return 一个 Rect,所以你可以简单地将它传递给 display.update()
函数以便只更新 "new"绘制区域.
由于 display.update()
仅更新整个屏幕的某些部分 与 display.flip()
相比,display.update()
在大多数情况下更快.
- pygame.display.flip() 更新整个屏幕。
- pygame.display.update() 仅更新特定部分但不带参数,类似于 pygame.display.flip().
如果您正在使用双缓冲,那么您希望使用 flip()
。只有一个缓冲区都可以工作,除非你专门创建一个双缓冲 window,否则你正在使用单缓冲,例如:
pygame.display.set((w, h), pygame.DOUBLEBUF)
如果您每帧执行一次完整的显示更新,速度实际上是相同的,所以在单缓冲区模式下使用哪个并不重要。
如题所示,有什么区别吗?我当时使用 pygame.display.flip
,我在 Internet 上看到他们没有使用翻转,而是使用 pygame.display.update
。哪个更快?
Flip 将始终更新整个屏幕。如果你不给出参数,更新也会更新整个屏幕。但是,如果您将表面作为参数,它将仅更新这些表面。所以它可以更快,这取决于你给它的表面数量以及它们的宽度和高度。
pygame.display.flip
and pygame.display.update
的主要区别在于,
display.flip()
会更新整个显示的内容display.update()
允许更新屏幕的一部分,而不是整个屏幕区域。不传递参数,更新整个显示
要告诉 PyGame 它应该更新屏幕的哪些部分(即在您的显示器上绘制),您可以传递一个 pygame.Rect
对象 ,或者它们的序列到 display.update()
函数。 PyGame 中的 Rect 存储 width
和 height
以及 x
- 和 y
- 位置坐标。
PyGame 的 built-in dawning functions and the .blit()
方法例如 return 一个 Rect,所以你可以简单地将它传递给 display.update()
函数以便只更新 "new"绘制区域.
由于 display.update()
仅更新整个屏幕的某些部分 与 display.flip()
相比,display.update()
在大多数情况下更快.
- pygame.display.flip() 更新整个屏幕。
- pygame.display.update() 仅更新特定部分但不带参数,类似于 pygame.display.flip().
如果您正在使用双缓冲,那么您希望使用 flip()
。只有一个缓冲区都可以工作,除非你专门创建一个双缓冲 window,否则你正在使用单缓冲,例如:
pygame.display.set((w, h), pygame.DOUBLEBUF)
如果您每帧执行一次完整的显示更新,速度实际上是相同的,所以在单缓冲区模式下使用哪个并不重要。