Test allow larger vertex mesh#1359
Conversation
|
There shouldn't be anything per-se stopping it with larger meshes IIRC, although the rest of things may not be so happy. The X parser and MSTS shape parser definitely support larger. FWIW, the new parser is slightly higher at ~1.3gb for your file, but I don't see anything immediately wrong per-se. Most of our memory allocations come in the CreateVAO method: |
|
This is a finger in the air wondering at the minute: No idea how that would perform, but it likely wouldn't have some of the internal list optimisations... |
|
Interesting. Using that approach has basically no difference- shows that the people writing the CLR have probably thought of that. Approximately 600mb of memory is being used by the normals generation though. |
|
i noticed it that early, accidentally pressed N to show the normals and the FPS drops below 10. so i suspect that maybe the cause. already done some fixing locally about normals generation and memory usage, but im pretty sure there more to it... |
#1359 This appears to leak otherwise
- Build the normals debug VAO lazily and render it with a single DrawArrays call, avoiding a duplicate index buffer in RAM. - Show normals in solid blue - Force a GC collect when normals are hidden so RAM drops immediately. - Add LibRenderVertex constructor and a DrawArrays overload for the normals
…ertex-mesh # Conflicts: # source/Plugins/Object.CsvB3d/Plugin.Parser.cs
|
Yeah, I think that's just a case of too many total vertices though, probably pretty normal. I've found one very minor memory leak in the fonts as a result of this, which master now fixes, but that's I think a GDI+ bug rather than us (returning the default typographic size should really use a shared object...) The font subsystem itself is horrifically slow though, as it's doing some nasty concating to build the rendered strings. Replacing it is something I've looked at: That works OK and is considerably faster (although would want rebasing to the current master, and probably some fixing), but it's somewhat limited as you can't easily choose the font, and you've realistically got to ship the font file with the build. Anything else in terms of leaking appears to just be par for the course (first load of any object allocates a bunch of new strings for errors and stuff, which are then held by WinForms), and the GC sometimes takes a little while to get rid of the other bits. |
|
@leezer3 you can cherry pick the commit, my code is not the greatest anyway. a note: i haven't fully test to the route viewer, but im pretty sure the code should works |
|
Done, although I've found a slight timing issue when creating on the main thread. I'm considering at the minute whether it's worth adding a color dropdown for the normals. Issue with that is that you've gotta hack a combo-box to do it... |

Just a PR test for how capable current parser handling large mesh especially if in one
meshbuildercontains the entire mesh.Mainly tested in object viewer.
curently can load 250K triangle mesh, without texture, only single Color command.
But the memory usage when i try in release builds mode almost 1GB... idk why task manager report that... feels like memory leak or something allocated too much
Test file:
testA.zip