Hi everyone,
I’m trying to create an application that displays limited areas of the globe (really small, 20x20 km max) with accurate terrain and eventually GeoJSON/KML paths. I’ve been generating the quantized mesh using 1m LIDAR data that I then converted to a geotiff file and then tiled.
Whether I run the app on mobile or on desktop the performance is really really poor:when zoomed to levels 16-17 I cannot get more than 20-30 frames and it is not optimal. Is there anything I can do to provide the users better performance?
Thank you
Hi @Sgambe33, thanks for the question, this does seem atypical when rendering terrain.
Would you be able to create a minimal representative Sandcastle that highlights the issue.
Sure, here it is:
// Grant CesiumJS access to your ion assets
Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3NGIxN2VkNS0zN2E2LTQ2NGEtOThlZS0yMDJlNjE0M2E3NjQiLCJpZCI6MTE2MDg2LCJpYXQiOjE2OTM2OTExMTB9.ztfn0HmLztXlIDIUgODwAJuM-nQFmc70zxbVJGFLeDA";
try {
// Initialize the Cesium Viewer
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(2774444, {
requestVertexNormals: true
})
});
viewer.scene.debugShowFramesPerSecond = true;
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(10.324100,44.034500, 2000.0) // Change the coordinates and altitude as needed
});
} catch (error) {
console.log(error);
}
Thanks for that @Sgambe33. I’m not seeing any performance impact from that example. Even panning the camera around a bit I’m consistently getting 55-60fps.
Would you be able to share some more about your system or anything additional you’re doing in the larger scope of where this is being used?
Well, I suppose this is a hardware problem then. I’m running on a low-medium end PC and I get stutterings when moving around. Furthermore I wanted to bring this app to mobile and phones have an even worse hardware; so I guess I’ll have to stick to 30fps?