After updating greater than V0.128.0, I’ve got double amount of triangles and also performance issues.
The fps was halved. Actually I used the version 0.137.4.
I’ve comared the render information about my scene between the 0.128.0 vs 0.137.4 (It’s the same for all Versions greater than 0.128.0)
Test Model (Blender Information):
Verts, 40331, Faces 24.854, Trias: 24.854, Objects 140
ThreeJs (Render Info)
V0.128.0
programs: Array(4)
0: WebGLProgram {name: ‘MeshDepthMaterial’, …
1: WebGLProgram {name: ‘MeshStandardMaterial’, …
2: WebGLProgram {name: ‘MeshStandardMaterial’, …
3: WebGLProgram {name: ‘MeshPhysicalMaterial’, …
render:
calls: 154
frame: 404
lines: 0
points: 0
triangles: 24854
V0.137.4
programs: Array(6)
0: WebGLProgram {name: ‘MeshDepthMaterial’,…
1: WebGLProgram {name: ‘MeshStandardMaterial’,…
2: WebGLProgram {name: ‘MeshStandardMaterial’, …
3: WebGLProgram {name: ‘MeshStandardMaterial’, …
4: WebGLProgram {name: ‘MeshStandardMaterial’, …
5: WebGLProgram {name: ‘MeshPhysicalMaterial’, …
render:
calls: 307
frame: 484
lines: 0
points: 0
triangles: 49662
The triangles has almost doubled from 24854 to 49662.
The problem exist, if the model has a lot of single objects.
Since r130 transparent, double-sided materials are rendered with two draw calls for better rendering quality. However, this effectively increased the number of rendered triangles.
Thank you for your fast answer.
I read the post “WebGLRenderer: Render transparent doublesided in two calls”
But I guess, actualy no solution is right there. No switch to turn off the behaviour.
on water or window glass or simple on planes this does not have any visual benefits, not sure how this could be solved, ideal solution would be detect plane geometry and disable two call render or maybe only on the GLTFLoader ?
Thank you again.
The hack doesn’t work for me.
Now, what I’ve analyzed, the Problem occurs if the material is defined as MeshPhysicalMaterial and the propertie node.material.transmission is greater than 0.
If I set the value to 0 than I’ve no double triangles.
I see, but the doubleing effect of polygon count are since version r129. At version r128 it’s fine.
And altough, the MeshPhysicalMaterial is assigned only to a few polygons, it seems that all polygons of the whole model was doubled.