Replies: 2 comments
-
Thank you for the discussion! Performance is a thing we always love to improve working on this library.
|
Beta Was this translation helpful? Give feedback.
-
Would also love to see some general performance improvements, especially for mobile web browsers! |
Beta Was this translation helpful? Give feedback.
-
I love this library, have been attempting to build a game with it but it seems to really only be optimised to the point of rendering a single VRM character using three.js without leaving perf headroom to do much else (unless your computer is extremely powerful with a GPU). We can definitely improve the rendering for mobile devices but currently the library is unusable for many VR usecases as well (like a web based VR chat).
I have been trying to do this/looking into this and found a few things:
In my testing I found that MMD/PMD models tend to perform far better. So, sadly for my current project, I'm going to have to go with those. But by design, it should be less intensive to render VRM models as the format was designed for realtime rendering ( with its lightweight physics capabilities and other optimisations) while MMD wasn't. I'd be quite excited to see this library become mature enough to exceed the performance of MMD models at some point. Would be happy to contribute to that as well.
Another thing is that it's not possible to load a single VRM model reuse it - we seem to be only able to render a single .vrm file of a kind then there's bugs around even attempting to do this with breaking poses, etc. This would be very useful rendering mobs in RPGs or something low quality background characters, etc. One usecase I'd be interested in is using a simple low quality VRM model for multiple users in a multiplayer game. Would be keen to contribute to this as well, seems like it shouldn't be that hard?
Found this research paper where they do a perf comparison with MMD too and find that optimising the GLTF loader resulted in a 4x performance increase: https://www.researchgate.net/publication/366472491_A_Method_to_Optimize_the_Performance_of_Three-VRM. The actual code wasn't shared though.
Beta Was this translation helpful? Give feedback.
All reactions