CesiumInspector控件并不是带来太多功能上的,但对开发人员来说,对于了解Cesium的渲染效果以及性能调优,还是一个很有价值的控件,特别是一些渲染状态下的问题,采用该控件,应该还是会有很多启发性的收获。

废话不多说,直接上代码:

简单一句话,就会出现如下这个超级专业的控件:

里面的具体功能不多,但每一个都很专业,也间接说明了Cesium内部一个很出色的管理机制,下面就一一道来。

Show Frustums

地球半径是6378137,处于精度的考虑,比如深度值和相机抖动等问题,Cesium根据当前区域的可视范围的深度最大值和最小值,会动态的维护裁剪区域,在必要的情况下会由近及远的分成多个裁剪区,这样每个区域的深度区间不至于太大。我还没有仔细看这块的代码,只能先说一个思路,后续涉及到原理篇时在深入研究。

而Show Frustums就是实时显示当前的裁剪区,并会统计在不同裁剪区中Command(渲染对象)的个数。通常,在稳定的情况下,一个裁剪区就足够了,除非存在两个高度差距比较大的物体同时在场景内。当然,在快速缩放的时候,特别是拉平时,可能在瞬间,深度区间会比较大,所以需要多个裁剪区。

如图,现实了不同的裁剪区间的分割,但可视范围稳定后,会更新裁剪区间,尽可能的保持在一个裁剪区内,如下图:


Performance Display

Scene中有一个Performance类,如果开启,会update统计帧数和每一帧的时间,和Chrome的帧数统计对比了一下,还是比较准的。


Globe Depth & Pick Depth

下面来看看两个深度的,大部分场景下,两者的深度值是相同的,除非有模型,且模型在空中,和地面差距比较大的时候,就有一些不同之处了。

我们先打开地形,选择STK影像,正常情况下效果如下:

查看深度效果如下:

可以看到越近则深度越小,越趋近于黑色(0),月原则深度值越大(255)。我们加载一架飞机到此处,再看看会有如何的变化:

由于这架飞机高度为5000,当我们靠近该飞机时,则会构造两个裁剪区域,所以效果如下:


Primitive

我们在看看Primitive,选中该飞机,选择如下选项:

如下图所示,你会看到该模型的bounds,以及自身坐标系的xyz轴:


Terrain

这个功能很强大,选中一个Tile,可以看它的三角网,选择如下属性:

STK是Tin的三角网,基于特征点,同时还有裙边的处理,通过Wireframe都可以清楚的看到。同时你也可以中断LOD策略,这样缩放时可以详细的了解Tile的三角网信息。一目了然,可以充分的认识到STK地形的强大之处,后面讲到地形篇时,我们会详细的介绍STK和高度图两种方式,以及STK在数据层面上很多优化,水面等效果。

OK,Inspector的介绍到此结束,功能不多,但各个都很精致,能帮助我们很好的剖析Cesium的内部渲染机制,也能够对一些复杂的渲染问题,提供一个整体的线索,方便我们对问题的分析定位。

Cesium应用篇:3控件(5)CesiumInspector的更多相关文章

  1. iOS开发UI篇—UIScrollView控件实现图片缩放功能

    iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...

  2. iOS开发UI篇—UIScrollView控件介绍

    iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...

  3. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

  4. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> ...

  5. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

  6. iOS开发UI篇—UIScrollView控件实现图片轮播

    iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: #import "YYV ...

  7. 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播

    原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...

  8. WPF 精修篇 用户控件

    原文:WPF 精修篇 用户控件 增加用户控件 数据绑定还是用依赖属性 使用的事件 就委托注册一下 public delegate void ButtonClick(object b,EventArgs ...

  9. iOS开发——基本常识篇&各种控件默认高度

    各种控件默认高度   1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置 ...

  10. 【转】iOS开发——基本常识篇&各种控件默认高度

    原文:http://www.cnblogs.com/iCocos/p/4595614.html 各种控件默认高度   1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注 ...

随机推荐

  1. Unity3D 脚本手册

    1.private Ray ray;  --定义射线 ray = Camera.main.ScreenPointToRay(Input.mousePosition);  --摄像机发出的射线投射鼠标到 ...

  2. SqlServer游标简介

    游标实例:             Declare MyCusror Cursor Scroll For Select * From Master_Goods Order By GoodsID Ope ...

  3. CSS篇之DIV+CSS布局

    <div></div> div与其他标签一样,也是一个XHTML所支持的标签. div是XHTML中指定的,远门用于布局设计的容器标记. 简单的CSS布局 头部 内容 页脚 & ...

  4. for循环中的占位 pass

  5. .NET中XML序列化的总结

    [题外话] 以前虽然常用.NET中的序列化,但是常用的BinaryFormatter,也就是二进制文件的序列化,却鲜用XML的序列化.对于XML序列化,.NET中同样提供了一个非常方便的工具XmlSe ...

  6. Android开发学习之路-PopupWindow和仿QQ左滑删除

    这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...

  7. .net使用cefsharp开源库开发chrome浏览器(二)

    离上篇写介绍pc端的混合开发和为什么以cefsharp入手研究混合开发已经有好几天,一直忙,抽不出时间继续写怎么搭建cefsharp开发环境.其实没有时间是借口,一切都是懒,没有爱到深处. 今天继续写 ...

  8. fir.im Weekly - 如何进行 Android App 性能优化

    关于 Android App 的优化,@anly-jun 用 3 个月完成了这一系列文章,从 性能分析工具 到 ANR .Layout .消除卡顿 到 内存优化.内存分析工具大概十五六篇,并对此做一个 ...

  9. SQL Server 自动增长过大

    一.背景 我们遇到的问题如下图所示:自动增长无端端就按照这样的比例进行增长: (Figure1:问题所在) 尝试使用SSMS修改自动增长值,就会出现下面的错误: (Figure2:错误信息) 遇到上面 ...

  10. CSS系列:CSS选择器

    选择器(selector)是CSS中很重要的概念,所有HTML语言中的标记样式都是通过不同的CSS选择器来控制的.用户只需要通过选择对不同的HTML标签进行选择,并赋予各种样式声明,即可实现各种效果. ...