I've been tinkering around with runtime procedural mesh generation using both ImmediateGeometry and SurfaceTool. From experimentation I'm seeing that ImmediateGeometry can handle about 10,000 vertices before my FPS starts tanking - I initially guessed that this occurs because ImmediateGeometry gobbles RAM for short term performance, but I'm not seeing signs of this in the profiler (aside from FPS). So, in short, what is ImmediateGeometry and where is the FPS hit coming from?
As to the second question, I'm working on a 3D puzzle game where the player draws mesh loops around target objects. I figure that to work around the strengths and limitations of both procedural mesh methods I would want to use ImmediateGeometry while the line was being drawn and then convert this to a regular MeshInstance once the loop was closed - I'm just wondering if there is any way to accomplish this without keeping lists of vertex information or having both the SurfaceTool and ImmediateGeometry running simultaneously?