We really don't need to iterate all edges of the mesh every frame to search for loose edges, this calculation can be cached when filling the edge index buffer.