4

翻页是什么意思?

为什么我们在图形编程中需要它?

4

2 回答 2

5

翻页是一种简单的硬件辅助技术,用于无闪烁图形,已经存在了几十年。

它需要硬件的支持:

  • 视频子系统必须至少有两个可能可见的内存区域(页面),其中只有一个在任何给定时刻可见。

  • 视频子系统支持一些方法,软件可以借此选择两个页面中的哪一个是可见的。这通常只是对硬件的一条指令,并且切换是瞬时的,因为硬件只是停止扫描一页并开始扫描另一页。

因此,我们的想法是,在任何给定时刻,我们都保持一个页面可见,而在另一个页面上,我们正在渲染下一帧。一旦我们完成了帧的渲染,我们发送的硬件指令会立即“翻转”可见页面,这意味着我们进行渲染的页面现在变得可见,而以前可见的页面变得不可见并且可供我们使用在其中渲染下一帧。我们对每一帧重复这个过程,总是在用户看到可见页面时呈现在不可见页面上。

更详细地说,它的工作原理如下:

  • 我们有两页,A 和 B。开始时两页都是空白的,A 页可见,B 页不可见。

  • 我们在页面 B 上渲染我们的图形框架,它是不可见的,所以最初用户看不到它。

  • 在页面 B 中完成渲染帧后,我们发送硬件指令来翻转页面,因此用户现在开始在页面 B 上看到我们的渲染。

  • 我们在不可见的页面 A 上渲染下一帧,因此用户看不到渲染的发生。(这将被视为闪烁。)

  • 一旦我们在页面 A 上完成渲染,我们再次翻转页面,所以现在用户可以看到我们新渲染的页面,而之前可见的页面现在变得不可见并且可用于渲染其中的下一帧。

  • 我们对每一帧都重复这个过程。

于 2011-12-26T22:11:22.510 回答
1

通常它太慢了,无法直接在屏幕上绘制,视觉上,你看到了绘图。因此,您在显示另一页的同时绘制一页。然后当它准备好显示你“翻页”到完全绘制的页面时,你可以开始在另一页上绘图。

制作流畅的动画。

于 2011-12-26T22:07:15.743 回答