Fastest way to display Mesh Wires

Thanks @menno and @kitjmv!

My suspicion is, that it’s the sheer amount of lines required to represent mesh edges which slows things down. The overhead grows more or less exponentially with increased amount of vertices…

As mentioned earlier, my ultimate goal is to allow users to understand what modifications they are applying to the geometry. Point display seems like a good alternative. I tried directly displaying mesh vertices like so:

        protected override void PostDrawObjects(DrawEventArgs e)
        {
            e.Display.DrawMeshShaded(Mesh, Brush.displayMaterial);
            e.Display.DrawMeshVertices(Mesh, System.Drawing.Color.Red);
        }

but this doesn’t show any vertices. Do you have experience with this method? Only help on the forum I could find was this post, but I can’t find the C# equivalent of m_nMeshVertexSize

Having experimented a bit more, I found that rebuilding normals on the mesh helps a lot:

                mesh.Normals.ComputeNormals();
                mesh.FaceNormals.ComputeFaceNormals();

On the same 450k poly mesh, we’re down to approx. 40 ms (35 without screen capture) and it is fairly easy to understand what is happening while sculpting:

A good material would probably help even more. I’m thinking of using something like @Holo is working on for his awesome TerrainMesh plugin: