游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9201|回复: 11

opengl 中采用双缓冲机制的优点是什么?

[复制链接]

3

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2005-12-27 19:04:00 | 显示全部楼层 |阅读模式
vc中经常采用双缓冲机制来防止窗口重画时的闪烁问题.
opengl用单缓冲已经相当于vc中的双缓冲了.为什么还要再要再多一个缓冲呢?

3

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2005-12-28 08:43:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

opengl采用单缓冲时,是先在缓冲区中画好图像,然后将图像刷新到窗口上,
vc采用双缓冲时,是先在内存dc上画好图像,让好将内存的dc上的图像拷贝到窗口上,
两者不是类似吗?

opengl采用双缓冲时,一般先在后缓冲画图像,然后,前后缓冲区交换, 将图像从后缓冲交换到前缓冲, 然后刷新管道,前缓冲的图像刷新到窗口上.

我理解的对吗?

1

主题

50

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2005-12-28 10:40:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

明显不正确...
opengl单缓冲、双缓冲中的前缓冲,缓冲区开在在显存里,直接对应屏幕。
刷新管道的作用不是将“前缓冲的图像刷新到窗口上”。

3

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2005-12-28 13:04:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

那请解释一下采用双缓冲有什么优点? 如果不采用双缓冲,会有什么问题?

5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2005-12-28 14:52:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

不采用双缓冲会有很多问题...
动画速度会非常慢...blend基本上没法做....等等..(ogl的动画就是通过交换缓冲区得到的swapbuffer...)

1

主题

50

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2005-12-28 14:56:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

我认为opengl采用单缓冲的主要问题跟gdi中采用单缓冲的主要问题一样:


据我的理解,应该并不会减慢绘制的速度,也不会减弱绘制功能。

0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2005-12-28 16:04:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

?在backbuff就是?袢‰p??的策略
管他是怎?赢?

不然你直接更新在前景的?窗上
你就能???诫p??的好?了

不必用 OpenGL去?
用一般的GDI指令去做全屏刷新 ...?到眼睛痛

18

主题

279

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
发表于 2005-12-29 10:18:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

楼主认识存在误区!
1、OpenGL的前缓存[B]并不保证[/B]位于显存显示区之外。对于一些集成显卡,由于显存有限,它可能直接位于显示区。
2、前缓存[B]并不保证[/B]在所有指令都处理完毕之后再显示。

由于这两点,加之各OpenGL实现的缓存刷新后状态不确定,可能导致以下问题:
1、画面闪烁。
2、图象被撕裂。
3、混合不正确。
4、遮挡顺序不正确。

3

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2005-12-29 13:18:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

谢谢各位点评

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-12-29 21:43:00 | 显示全部楼层

Re:opengl 中采用双缓冲机制的优点是什么?

找个古代机器用flush试试看吧,我试过
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 04:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表