Sorry for absolutely bombarding the forums with newbie-questions, but I haven’t found an answer to this one either. My apologies if I missed some info somewhere.
Q: What’s the performance like when working with GUI textures? Can I move/fade these without having to worry about performance?
I am considering using them for icons - some of which will be manipulated by the player, others will be just indicators. Still they’ll all move. The advantage of using GUI stuff is that I won’t have to do any hocus pocus to keep them above the actual gameplay models.
My alternative approach would be to use 3D objects or billboards for the icons. Quite doable, but a little more work to try to keep them “pixel perfect” and nice looking.
So, are there performance considerations, and which approach would be best (given that both work equally well for the task at hand)?
You shouldn’t have any performance issues using GUITextures, moving or fading them, in general.
As for which is best, it really depends on your needs and the type of game you’re doing. For example, the GUI in The Late Call started with mostly 2D GUITextures, but has since switched over to entirely 3D. The primary reason for this was so that GUI elements appear more or less the same size at any resolution, but there are other benefits.
With a 3D GUI it also (arguably) easier to do state change effects, like “low timer”. It’s a bit more code to get it going, but found it preferred in the end.
Best rule of thumb is do what works best for your situation. 2D GUITextures are often quicker to get up and running but a little less flexible (for example, there is no rotation with GUITextures) if / when you want more than just “showing” your GUI .