天龙版本cegui的效率优化谈

 

最近在钻研cegui效率优化方面的内容,鄙人对cegui的理解尚浅,简单说下天龙八部
界面的效率提升问题。主要是为学习与交流

天龙八部界面部分0.4.1版本会相对0.7.5版本效率上有非常大的差异原因在哪里?
首先,0.4.1版本的的buffer管理统一放到的 CEGUIOgreRenderer 这个工程下面buffer管理
非常集中。

0.4.1版本的绘制任务基本都交给 CEGUIOgreRenderer 来完成绘制工作,所有的
缓冲都由这个工程来完成,效率上有很大浪费,当执行任何一个窗口的 redraw 命令的时候
都将导致cegui缓存的彻底释放然后从新书写其内容,如果界面元素不多的话这个效率上将不会
受太大影响,一旦界面元素超过3000,这个版本与0.7.5效率上的差异将会是惊人的。

作为cegui的最新版本0.7.5的改变相对于0.4.1有着本质上的变化。对效率影响最多
就是渲染方面。0.7.5将buffer管理与缓冲的更新都规避到了每个window下面单独去管理。
这样做的好处就是当window出现窗口redraw命令的时候不会导致整个根窗体彻底重绘,而是将
需要重绘的窗口单独重绘。如此情况下,相比0.4.1有着相当大的效率提升,0.4.1主要的渲染
方面压力就在缓冲的重做方面。当出现redraw的时候缓冲数据将不再销毁,而替代更替内容步骤
是直接更新缓冲区数据,从而回避了在0.4.1中不断销毁缓冲然后重新申请的时间浪费这点是
造成两个版本之间的主要效率差异的根本原因。

0.4.1中每个window的redraw命令一旦放出,都将触发 signalRedraw()从而改变 d_gui_redraw
的值在底层 CEGUIOgreRenderer 中产生作用。被动地将缓冲数据全部清空从而从新填充࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值