Our environment model includes a lot of text as meshes, which take up an enormous portion of the total vertex count. One way to simplify them would be to convert them into flat textures and fake depth with normal (and perhaps specular) maps.
In comparison, our whole environment model, including the text meshes, which is about 170k vertices, runs at approximately 150 FPS total on my PC when loaded into the Sandbox. What gives?
The most glaring difference I saw is that the MeshWriter example has 6 draw calls, whereas our model has over 480. Could that be the reason for the discrepancy, or does the MeshWriter have other optmizations going for it? Its documentation does mention it makes use of SPS, though I admit most of it flew over my head:
new Writer() builds a mesh with material that is inserted into the scene. This is a multi-step process with interim meshes and holes per letter. These meshes are sucked into an SPS and then disposed. At the end, one mesh, one material and one SPS have been added to the scene.
For context, here’s the stats in the Sanbox for our environment model:
And here’s the stats for the MeshWriter example on the Playground:
In conclusion, would you recommend using the MeshWriter? Or should I focus on reducing the draw calls first, and only then focus on the text?