Is setting setVisible(false) of sprite elements of a vector enough in terms of performance optimization for unused ones or what else should i do?
From what I understood from your questions, you are asking if setting unused sprites invisible will be better for performance, correct? If your unused sprites will be used later in the scene, then it might optimize performance as creating sprites can incur certain overheads. This overhead is typically not noticeable on iOS but very obvious on Android.
Is it enough to keep it optimised or is there any other tricks can be used?
I have tried this approach once, if you do not have too many sprites (as in 100+ or more) then the performance should be ok.