Reduce GPU and CPU consumption of 3dtiles

How to reduce the GPU and CPU consumption of cesium 3dtiles.I tried loading cesium sandcastle example the GPU consumption went upto 95%.How to reduce this.

.Are there any best tips for the performance for loading cesium 3d tiles.

Have you tried using explicit rendering mode?

Thanks for the repsonse omar.I tried requestRenderMode it worked a little bit.But still the GPU consumption is touching 65 - 75%.Are there any more ways to reduce the consumption to atleast 30%.I had even set the maximumscreenspaceerror to 24.

I loaded only tileset to viewer which has around 1500 b3dm files.

How was your 3D Tileset created? What’s your source data format? Do you have anything else going on in your scene, or just this tileset?

You can also consider lowering the canvas resolution, which may have a bigger effect on the GPU consumption. You can do that by setting viewer.resolutionScale to less than 1, to render to a smaller canvas and scale up.

Thanks for the suggestion.I tried setting the resolutionScale to 0.5 but still the same consumption of GPU.The source format of tileset is GML.I created it using FME.I tried uploading to ION but cesium ion failed to convert.The scene has only tileset and nothing else.Is there any way to render only the tiles that are present in the camera view.Instead of loading whole tileset.Even after using requestRenderMode also whole tile is getting rendered.

Can you tell me the asset ID?

Yes, the 3D Tiles created just needs to be optimized well, which is exactly how it should behave when tiling with Cesium ion.

I tried tiling the data by converting shapefile to gml.Then i uploaded the resultant gml to ion it got uploaded and able to view the tileset fine.But still the GPU consumption is same. Code used to load the tileset. `Cesium.Ion.defaultAccessToken = “”;

var viewer = new Cesium.Viewer(“cesiumContainer”, {
terrainProvider: ne w Cesium.CesiumTerrainProvider({
url: Cesium.IonResource.fromAssetId(1),
viewer.scene.globe.depthTestAgainstTerrain = true;

var tileset = viewer.scene.primitives.add(
new Cesium.Cesium3DTileset({
url: Cesium.IonResource.fromAssetId(),

.then(function () {

Are you still seeing the whole tileset rendered now? If so, can you share the asset ID with me for debugging purposes?

Yes still the same.Asset ID:98805.But how can you access the without access token.How secure are my assets.

No one can access your assets without an access token. Only the support team at Cesium can access your asset when you ask us to debug it.

Thanks for sharing the ID. I’ll take a look soon.