铯地图可以显示多少个点?

斯巴达克

我试图在Cesium地图上放置数千个点,并遇到Firefox崩溃的问题。我必须使用Firefox。该地图似乎可以显示15,000点(作为图像)。但是,它几乎也不可用。缩放和平移具有巨大的延迟,最终会崩溃。有人知道极限应该是多少点吗?另外,有没有比我做的更好的方式来显示这些点?我真的希望是我而不是铯。我听说创建czml,然后将其传递比较慢,所以我进行了以下JavaScript测试:

function test(){
  for (var i=0; i<15000; i++){
     tempLat +=1;
     tempLon +=1;
     if(tempLat>90){
      tempLat=0;
      tempLon=0;
     }
     addBillboard(scene, ellipsoid, tempLat,tempLon);
  }
}

 //this is from the sandcastle examples for cesium. 
 function addBillboard(scene, ellipsoid,tempLat,tempLon) {
    var primitives = scene.primitives;
    var image = new Image();
    image.onload = function() {
        var billboards = new Cesium.BillboardCollection();
        var textureAtlas = scene.context.createTextureAtlas({image : image});
        billboards.textureAtlas = textureAtlas;
        billboard = billboards.add({
            position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(tempLat, tempLon)),
            imageIndex : 0
        });
        primitives.add(billboards);
    };
    image.src = '../images/Cesium_Logo_overlay.png';
}
百草枯

您的代码正在创建15,000个BillboardCollection基元,每个基元各一个Billboard如果创建一个并向该集合中BillboardCollection添加15,000 Billboards则性能会好得多

这是可以与b28发行版一起使用的工作示例。将此内容粘贴到b28沙堡中:http ://cesiumjs.org/releases/b28/Apps/Sandcastle/index.html?src=Billboards.html&label= Showcases

请注意,其中一些API将在即将发布的版本中进行更改。始终检查CHANGES.md以获取重大更改的列表。

require(['Cesium'], function(Cesium) {
    "use strict";

    var viewer = new Cesium.Viewer('cesiumContainer');
    var scene = viewer.scene;
    var primitives = scene.primitives;
    var ellipsoid = viewer.scene.globe.ellipsoid;

    var billboards = new Cesium.BillboardCollection();

    var image = new Image();
    image.onload = function() {
        var textureAtlas = scene.createTextureAtlas({image : image});
        billboards.textureAtlas = textureAtlas;
        primitives.add(billboards);
    };
    image.src = '../images/Cesium_Logo_overlay.png';

    function addBillboard(tempLat, tempLon) {
        billboards.add({
            position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(tempLat, tempLon)),
            imageIndex : 0
        });
    }

    var tempLat = 0;
    var tempLon = 0;
    for (var i = 0; i < 15000; i++){
        tempLat += 1;
        tempLon += 1;
        if (tempLat > 90){
            tempLat = 0;
            tempLon = 0;
        }
        addBillboard(tempLat, tempLon);
    }

    Sandcastle.finishedLoading();
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以同时使用多少个显示器?

来自分类Dev

列表可以包含多少个项目?

来自分类Dev

ArrayList可以容纳多少个值?

来自分类Dev

可以同时声明多少个条件?

来自分类Dev

可以嵌套多少个目录?

来自分类Dev

可以同时登录多少个用户?

来自分类Dev

我可以创建多少个分区?

来自分类Dev

iso文件可以小多少个?

来自分类Dev

“if”语句可以处理多少个“&&”?

来自分类Dev

英特尔Iris 540可以支持多少个显示器?

来自分类Dev

我可以连接多少个显示器到这个GPU

来自分类Dev

我可以在 Windows 窗体窗体中创建和显示多少个控件?

来自分类Dev

R - 传单限制 - 传单地图支持多少个标记?

来自分类Dev

一个向量可以有多少个参数?

来自分类Dev

一个对象可以处理多少个键值对?

来自分类Dev

多少个XUSER

来自分类Dev

是否可以通过命令显示我的Discord机器人当前连接了多少个语音通道?

来自分类Dev

在Java中可以创建多少个嵌套的“新”对象?

来自分类Dev

Sqlite:“ in”子句中可以有多少个参数

来自分类Dev

局部范围内可以有多少个变量

来自分类Dev

可以同时运行多少个Mapreduce作业

来自分类Dev

Scala我可以创建多少个期货

来自分类Dev

redis-py管道可以有多少个命令?

来自分类Dev

python词典可以容纳多少个元素?

来自分类Dev

python词典可以容纳多少个元素?

来自分类Dev

python os.fork()可以创建多少个进程

来自分类Dev

我可以在MySQL中创建多少个用户帐户?

来自分类Dev

一次可以设置多少个uilocalnotifications?

来自分类Dev

Jenkins可以管理多少个远程节点