I need to draw 3D name tags with health bar over players head. Considering the planned server player count is 256, and that in special conditions there could be 40-50 players in the same area of the map, how bad would it be to draw their name and health (and other icons, potentially including animated icons that need to be redrawn every frame), using SubViewports drawn on ViewportTextures on QuadMeshes?
If it’s a bad idea, then what is the best alternative? I want to be able to draw colored text, bars and animated transparent icons.
Try it. Performance of this has nothing to do with multiplayer connectivity, and everything to do with graphics display. Even with the ids and health of 50 people being thrown through an RPC call, it’s very little information.
I don’t imagine you’ll notice any performance issues. To get that in Godot you typically needs to be measuring things on the screen in 1000s.
There is a certain amount of overhead per viewport so you may consider using them as atlases if the visual profiler shows they’re causing a bottleneck.
Thank you guys. I now understand that SubViewports can really kill performance and I should avoid them for this purpose. I found out the 3D labels demo and I think I should be able to achieve what I wanted to achieve by using them.