正确尝试Cesium创建,错误捕获,跨浏览器兼容性和开发人员错误

pogan

我目前正在从事的GIS项目必须具有跨浏览器,移动,多平台和万能的功能。Cesium在没有WebGL的情况下无法工作,在某些较旧的浏览器和其他次要异常中也无法正常工作,但我必须抓住它们。当无法使用Cesium时,我决定选择OpenLayers,OL在几乎所有方面都可以很好地工作。就目前而言,我有一个尝试捕获新的Cesium.Viewer的功能,该捕获启动了OpenLayers,直到最近,当我开始遇到Cesium“内存不足”错误时,OpenLayers的运行都非常好。

Cesium文档在Developer Error上的立场:永远不要被抓住;相反,调用代码应努力不生成它。那么如何解决这个难题呢?是否有任何可靠的方法可以检查Cesium是否可以正常启动,还是我必须尝试捕获我所调用的每个方法以确保它不会崩溃?

emackey

当然new Cesium.Viewer(...)应该将其包装在try / catch中,因为Cesium.RuntimeError如果无法初始化WebGL ,它将抛出该异常。此外,viewer.scene还有一个renderError事件,当在渲染循环内发生错误时会引发该事件(因为正常/自动渲染循环无法包装在try / catch中)。

但是,当然,如果浏览器接近内存不足,则在浏览器上分配内存的任何调用都可能会失败。不幸的是,在JavaScript中似乎并没有太多警告。铯已被很好地清理,以在渲染时不分配内存(重新使用带有result参数的暂存变量等),但是某些操作(例如在高分辨率地形上放大)将必然会分配一些内存。添加实体以及新的图形基元和内容将分配内存。您可能希望在将新对象添加到视图时尝试/捕获。

还可以查看viewerPerformanceWatchdogMixin

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IE 11-开发人员工具和检测旧的IE浏览器

来自分类Dev

跨浏览器兼容性的过渡属性

来自分类Dev

当我尝试打开开发人员工具时,Ripple Emulator / Chrome浏览器关闭

来自分类Dev

ie9与现代html和CSS语言的兼容性(跨浏览器CSS)

来自分类Dev

跨浏览器兼容性HTML5和CSS3

来自分类Dev

Javascript:处理常量和跨浏览器的兼容性

来自分类Dev

使用浏览器的开发人员工具时,是否可以显示JavaScript数组括号和对象的内容?

来自分类Dev

图像地图浏览器兼容性和imagemapster

来自分类Dev

图像地图浏览器兼容性和imagemapster

来自分类Dev

浏览器开发人员工具-“计算与规则”选项卡

来自分类Dev

浏览器开发人员工具:HTML元素的位置是什么?

来自分类Dev

如何使用Firefox开发人员工具清除或删除浏览器会话

来自分类Dev

通过浏览器(铬)的“网络开发人员工具”从instagram保存图像

来自分类Dev

在浏览器的开发人员工具上拦截鼠标指针的更改

来自分类Dev

作为开发人员下载旧版本的浏览器

来自分类Dev

弹出浏览器兼容性

来自分类Dev

AngularDart浏览器兼容性

来自分类Dev

CSS的浏览器兼容性

来自分类Dev

错误oracle sql开发人员“ SQL命令未正确结束”

来自分类Dev

SQL Server 2019开发人员错误:18456,严重性:14,状态:149

来自分类Dev

适用于Linux机器的最佳跨浏览器兼容性工具?

来自分类Dev

如何获得HTML5的window.fileReader API的跨浏览器兼容性

来自分类Dev

3D CSS效果(最大的跨浏览器兼容性)

来自分类Dev

一组数字的Javascript放大镜-跨浏览器兼容性

来自分类Dev

如何在Google Chrome浏览器检查器中更改CSS制表位(开发人员工具)

来自分类Dev

贝宝开发人员-无法创建沙盒业务帐户以及错误消息

来自分类Dev

Facebook开发人员服务器端登录错误

来自分类Dev

XPage DynamicViewPanel链接错误,还是开发人员失明?

来自分类Dev

IpOverUsbSvc错误Windows Phone开发人员注册

Related 相关文章

  1. 1

    IE 11-开发人员工具和检测旧的IE浏览器

  2. 2

    跨浏览器兼容性的过渡属性

  3. 3

    当我尝试打开开发人员工具时,Ripple Emulator / Chrome浏览器关闭

  4. 4

    ie9与现代html和CSS语言的兼容性(跨浏览器CSS)

  5. 5

    跨浏览器兼容性HTML5和CSS3

  6. 6

    Javascript:处理常量和跨浏览器的兼容性

  7. 7

    使用浏览器的开发人员工具时,是否可以显示JavaScript数组括号和对象的内容?

  8. 8

    图像地图浏览器兼容性和imagemapster

  9. 9

    图像地图浏览器兼容性和imagemapster

  10. 10

    浏览器开发人员工具-“计算与规则”选项卡

  11. 11

    浏览器开发人员工具:HTML元素的位置是什么?

  12. 12

    如何使用Firefox开发人员工具清除或删除浏览器会话

  13. 13

    通过浏览器(铬)的“网络开发人员工具”从instagram保存图像

  14. 14

    在浏览器的开发人员工具上拦截鼠标指针的更改

  15. 15

    作为开发人员下载旧版本的浏览器

  16. 16

    弹出浏览器兼容性

  17. 17

    AngularDart浏览器兼容性

  18. 18

    CSS的浏览器兼容性

  19. 19

    错误oracle sql开发人员“ SQL命令未正确结束”

  20. 20

    SQL Server 2019开发人员错误:18456,严重性:14,状态:149

  21. 21

    适用于Linux机器的最佳跨浏览器兼容性工具?

  22. 22

    如何获得HTML5的window.fileReader API的跨浏览器兼容性

  23. 23

    3D CSS效果(最大的跨浏览器兼容性)

  24. 24

    一组数字的Javascript放大镜-跨浏览器兼容性

  25. 25

    如何在Google Chrome浏览器检查器中更改CSS制表位(开发人员工具)

  26. 26

    贝宝开发人员-无法创建沙盒业务帐户以及错误消息

  27. 27

    Facebook开发人员服务器端登录错误

  28. 28

    XPage DynamicViewPanel链接错误,还是开发人员失明?

  29. 29

    IpOverUsbSvc错误Windows Phone开发人员注册

热门标签

归档