OSG 可以将各式各样的调试信息输出到std:cout。这在开发OSG 程序时十分有用,你可以借此观察OSG 的执行的各种操作。
1、统计信息显示
键盘的“S”键对于性能测试十分有用,它将适用osgUtil 库的Statistics 类来收集和显示渲染性能的信息。循环按下“S”键(小写s)可以切换四种不同的显示方式:
(1)帧速率:osgviewer 将显示每秒钟渲染的帧数(FPS)
(2)遍历时间:osgviewer 将显示每一次遍历更新(update),拣选(cull)和绘制(draw)操作总共使用的时间,包括绘制图1-4 所示的图表所用的时间。
(3)几何信息:osgviewer 将显示当前渲染的osg::Drawable 对象数目,以及每一帧处理的所有顶点和几何体的数目。
(4)无:osgviewer 将关闭统计信息的显示。
按下“S”键两次,程序将显示遍历时间的统计信息及图表信息,如图所示:
图形的显示表现为一系列帧的渲染。特别地,渲染过程与显示器的刷新速率是同步的,这是为了避免诸如图像撕裂(image tearing)等问题的出现。在图中,显示器的刷新率为30Hz,因此每一帧将占用一秒的1/30,即大约33.33 毫秒。上面的显示图表说明了场景更新(update),拣选(cull)和绘制(draw)过程所花费的时间。这种反馈方式从本质上提供了分析性能问题并帮助解决程序渲染性能瓶颈的途径。
2、记录动画
开发者往往需要反复地进行测试以便有效地调整和检测程序渲染性能。为了简化性能调整的过程,osgviewer 允许用户轻松地记录摄像机的运动序列并且进行回放。这一序列被叫做动画路径(animation path)。
运行osgviewer 时,按下“Z”键(小写z)将立即开始记录动画路径。此时如果使用鼠标旋转和缩放模型,OSG 都将记录摄像机运动的信息。然后,按下“Shift + Z”键(大写Z)将停止动画路径的记录,并立即开始回放。回放的过程中,你将会看到所有被记录下来的摄像机运动路径。
3、格式切换
按下“W”键(小写w)将会对场景的三种不同显示信息进行切换:
(1)正常场景格式
(2)三角网形式显示
(3)以点云形式显示