If the whole "game world" is thousands of times wider than a viewport, and if I want to use scene2d to manage game objects as Actor
s, should I create Stage object as wide as the whole world, or should the Stage
be some area around current viewport but not the whole world?
In other words, does a Stage
with greater width and height consume more memory itself, even if I render objects only on a small viewport-sized part of it?
I think you misunderstood what exactly a Stage
is. A Stage doesn't really have a size itself. You don't specify a width or height or the Stage
, you only specify the width and height of the viewport. The viewport is like a window, which shows only a part of your world, aka scene. A Stage
is a 2D scene graph and it "grows" with your Actors
. The more Actors you have, the bigger (memory wise) your Stage is, but it doesn't depend on how far spreaded your Actors actually are. If they are very far spreaded and you only display a very small part of your whole Stage
, it will be handled very efficient, because a scene graph sub-divides this huge space to be able to very quickly decide whether to ignore a certain Actor, or draw it on the Screen.
That means a Stage
is actually exactly what you need for this kind of situation and you should probably not have any problems, FPS and memory wise. But of course if your Stage
is 1000s of times the size of your viewport and you know yourself that certain Actors aren't displayed soon, then it might make sense to not add them to the Stage yet.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With