pbuffer 和fbo的差异

81 篇文章 5 订阅

PBuffer跟Framebuffer Object差在哪?




提问:
PBuffer跟Framebuffer Object差在哪?

回答:
兩者應該是在提供同一的功能的, 不過, PBuffer 是一個真正的 off-line window, 它擁有一個 render target 應有的獨立設定, 例如 depth buffer, model-view matrix, projection matrix 等等....

而 Framebuffer Object, 也可當作 off-line window 使用, 但是, 它並不擁有 render target 的獨立設定, 反之, 這些設定值會承接現在的設定值.

如果, 你的程式需要使用同一設定值去 繪畫多個 off-line window, 你就可以使用 Framebuffer Object 共用設定值的好處, 去作優化.

但是, 效能只會提昇很少, 而且, 適合使用 Framebuffer Object 去作優化的情況實在很少, 因此, 我比較喜歡使用 PBuffer, 因為 獨立的 render target 設定 比較容易管理.








from : http://www.programmer-club.com.tw/ShowSameTitleN/opengl/2125.html
 

使用道具举报

  

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2009-3-31
积分
14295
2#
发表于 2009-5-22 13:08:18 | 只看该作者
context switch这么重要的都没提到。
另外,性能显然不是提升很少而已。
 
 

使用道具举报

  

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2007-7-11
积分
32844
3#
发表于 2009-5-22 18:46:18 | 只看该作者
恩,Context Swtich的确对性能影响比较大。

我是这样认为,在Pbuffer的年代里,HW上的MRT技术还不像现在遮掩广泛流行,(记得Desktop上面好像DX9才开始有的,据说NV3X对当时的这个特性支持的都不够充分?)。

所以人们需要一种能够模拟MRT技术的实现,那就是靠Pbuffer来通过 Multi Context来软件的解释出多个RenderTraget从而达到MRT的需求,既然是软件Dirver解释的,而非硬件实现,所以每次切换Rendertarget的时候必然有能力切换一个Rendertarget所对应的Graphics Pipeline各项属性。并且这种切换时间也更长。

而FBO技术是一种完全HW实现的MRT方式,所以多个Rendertarge上只有一个Context。效率也更高。可以说 FBO是当前硬件对于Pbuffer思想的一种改进后的硬件加速实现。
 
 

使用道具举报

  

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2009-3-31
积分
14295
4#
发表于 2009-5-22 21:44:28 | 只看该作者
NV3x不支持MRT。对于DX API来说,render to texture早都支持了,即便不支持MRT,也不需要context switch。
 
 

使用道具举报

  

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2007-6-11
积分
28982
5#
发表于 2009-10-22 00:27:15 | 只看该作者
PBuffer需要额外的HGLRC储存数据,FBO直接写入显存。
 
 

使用道具举报

  

Rank: 9Rank: 9Rank: 9

注册时间
2009-8-7
积分
331
6#
发表于 2009-11-8 18:11:56 | 只看该作者
nv的一个ppt总结的蛮好
1

查看全部评分


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值