I'm trying to optimize my game, and I have one section with several waterfalls - all created using plasma effects. Each waterfall also has a spray effect at the bottom, which is also created with plasma. I'd like to know if plasma is a fairly intensive effect?
If it is, I have a different system which I think looks better - A small tiled background (blue, with 50% transparency) stretched to the size of a waterfall. A canvas object is placed underneath it at the same size, grabs the cliff texture beneath it, and applies a bounded warp effect. It gives the illusion of the tiled background waterfall warping the cliff behind it. I'll then place some small simple textures on top of the waterfall to imply movement, inspired by this image.
So the main question is pretty much: Is the Plasma object more or less intensive than the Bounded Warp effect? I'm afraid I'm completely hopeless at discovering these answers myself <img src="smileys/smiley5.gif" border="0" align="middle">
Many thanks for your time <img src="smileys/smiley12.gif" border="0" align="middle">
I would say its probably pretty close to the same, at least as far as object vs object goes, unless you're using fx on plasma.
Its basically a matter of ram, where plasma compared to particles doesn't have the issues of hundreds of objects to keep track of.
Oh, bummer. Well the plasma at the base of the waterfall (used as spray and foam) does have a layer blur effect applied to it, so I would be swapping out two plasma effects for each waterfall (one for the waterfall itself, and the other for the foam) for a tiled background with a bounded warp effect, and textures for the foam. I'd also be removing the blur effect.
So it sounds like it would be an improvement, just not a huge one. And there's the issue that if I use textures for the foam instead of plasma, I would be having the game create new foam textures every couple of seconds at the base of each waterfall on-screen, and possibly adjusting the foam's angle every second to have it spiraling slightly.
Man, optimization is a pain in the <img src="smileys/smiley17.gif" border="0" align="middle" />
Still, the waterfall as a tiled background and warp effect seems like an improvement over plasma, so I think I'll go with that at least. Especially since I can turn the warp effect off when the waterfalls are off-screen. I might have to go without foam completely... or create an advanced graphics option for it? Oooo. Controlled by global variables, and turned on or off through the main menu. That could be nice.
Alright, that's enough of a brain dump for one day. Thanks for the help <img src="smileys/smiley1.gif" border="0" align="middle" />
When optimizing, it doesn't necessarily mean reducing. It means evenly spreading the load to gpu and cpu to prevent that one thwarts the other. CC supports one core only, and this core is at 72% on my system (which contains a low end cpu, AMD Athlon II X2 250), while my graphics card (a NVIDIA 460 GTX) is at 22% only. The first things to look at should therefore be all things stressing the cpu, like loops per tick or the water.
Ahhhhh, that's probably slightly more worrying <img src="smileys/smiley5.gif" border="0" align="middle" />
Artwork and resources I can easily scale down, rework, find different ways to animate etc. I've made so much headway with the waterfalls and cutting out blur shaders by pre-blurring in Gimp!
CPU optimization though... that mainly comes down to the event sheets right? That's the part I suck at <img src="smileys/smiley17.gif" border="0" align="middle" /> which makes sense I guess. I have a heck of a lot of events running every tick. I think I'll spend tomorrow going over all of my events, and taking a look at what I can condense down. Are there any tips and tricks for this?
At least the GPU optimization I've already down can only help. It's not like it was a complete waste of time (I hope!) <img src="smileys/smiley1.gif" border="0" align="middle" />
Develop games in your browser. Powerful, performant & highly capable.
or the water.
or the water.
*Insert profanity here*
Tulamide is 100% right. I ran through the game with an uncapped frame rate twice, once at 1280x720, and again at 1920x1080, both times I saw highs of close to 300 fps, and the lowest point each time was just over 60fps at the area with tons of water and waterfalls. That was enough to prove I'm CPU limited more than GPU limited, which for an overclocked i7 2600k... is not good.
I then ran through a third time with the water events disabled, and never dropped below 150fps. The waterfall area never dropped below 180fps. So yep, that lovely dynamic water that ripples and waves as the wolf runs through it has to go. All that time and work <img src="smileys/smiley6.gif" border="0" align="middle" /> I guess I'll need to work on a decent warp effect to give the illusion of water movement, and just add splash effects as the wolf runs through it.
I'll go curl up in the corner now, gently rocking back and forth.
But on a positive note, the framerate has improved drastically, and that expensive water effect also required a full screen blur shader - so it will be an improvement to GPU processing time as well <img src="smileys/smiley1.gif" border="0" align="middle" />