显示渲染-OCC显示渲染性能分析及优化方案

1.背景介绍

君方智能设计平台(ShipMaker),使用OCC中的图形构造功能和图形渲染功能。OCC的图形渲染采用Opengl API 并且将所有图形渲染相关的逻辑放置在TKOpenGL模块中。

性能场景1:

大场景中包含2万个构件,超过300万三角面片时,对模型做视图的缩放、旋转和旋转等操作,存在卡顿现象,帧率小于10。

性能场景2:

在小场景中,动态绘制墙等线性构件时,非常流畅。当场景中包含2万个构件,超过300万三角面片时,动态创建线性构件墙,鼠标在移动过程中会动态绘制墙构件,存在卡顿现象。

对于场景1和场景2,在笔者的配置机器上,大场景中超过5万构件,2000~3000万面片,应该不存在卡顿现象。经过调试追踪,OCC中显示渲染逻辑存在性能卡点,通过优化渲染逻辑应该可以大大提升渲染性能。

2.TKOpenGL模块分析

1.场景数据

渲染相关的场景数据包括:渲染物体集合(OpenGl_LayerList),光照数据(Graphic3d_LightSet),帧缓存(OpenGl_FrameBuffer), ....

我们只关注渲染物体集合(OpenGl_LayerList)中的数据,即XC-Lab显示场景中绘制的墙

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值