Shadowmap halves my fps

    renderer.shadowMap.enabled = true;
    renderer.shadowMap.autoUpdate = false;
    renderer.shadowMap.type = THREE.PCFSoftShadowMap;

These are my renderer settings for the shadow map. I thought by setting autoUpdate to false it would calculates/renders the shadow map once.

mesh.castShadow = true;
mesh.receiveShadow = true;

These are the settings on the objects that I want to give/recieve shadows.

I commented out the above renderer settings and all shadowmap.needsUpdate and once my whole scene loaded it was running at 60 fps and when I wrote in the command line shadowmap.needsUpdate = true my fps drops to 20 fps. I have a lot of meshes in my scene. Is this the expected behavior when there is a lot of meshes/facets?

How many lights are in your scene? How large the shadow maps? How many drawcalls/faces? A screencap of your scenario would give a better impression as well

If you don’t need dynamic shadows you can also render them just once, but a drop like this seems to be a different issue though.

You may be right because I tried it in my testing tool and even when moving the directional light around which triggered the shadow map update, it still maintained an fps above 30. Sorry I should have tried that before, I found it weird that the fps would drop when updating the shadowmap once and chrome’s javascript profiler showed that my cpu has long idles after the shadowmap is applied between frames.

  1. 1 directional, 1 ambient
  2. 5000x5000 shadowmap size
  3. triangles: 70000, 160 meshes
    Its a 1000x1000m area of New York city with simplified buildings (Just polygons, no textures) and the sun is the directional light.