Yeah I can imagine it'll be slow, even if Zan supported ZScript.
My ZScript re-write is almost complete (all that's left is precipitation spawning and the season texture swap), here are some numbers:
My machine:
i7 950 @ 3.2 GHz
NVidia GTX 960
15 GB DDR3
Win 8.1
GZDoom at stock settings with all post processing turned off, VSync off, 1920x1200
On a simple square map with 2 sectors
Without Bumi: 800 FPS
With Bumi: 300 FPS
So yea, this system comes with a 500 FPS overhead. 2 main suspects right now are the colour tinter and the clouds.
The former is running a sector iterator and applying colourization to them. There's already calculations in there to skip colourization if the previous colour is the same as the current colour but I'm not sure if it really works correctly, or if it's enough. Due to the large number I use to keep track of time per day, it is possible to generate LOTS of shades of colours so the colourization is still happening frequently. I can try to quantize the colours to a smaller gradient but the colours won't look so nice as time moves, as the colours will "snap" to the nearest gradient (kinda like how the software renderer can't produce smooth colour ramps).
I could also look into pre-generating the list of colours at map-start instead of calculating them every Bumi-tick but I'm not sure if that will really help much.
The latter, the clouds - each instance of a cloud is querying the main Bumi class every Bumi-tick to calculate the cloud's alpha - things like whether it's overcasting/raining or not, how far it is from the center of the skybox, etc. I think that distance check in particular is quite expensive. I'm already limiting the clouds to run the query every Bumi-tick (which is slower than a real-life Doom tick), maybe I can afford to make that less frequent.
Do note that the 500 FPS cost is true also for the ACS version back then so it's not like moving this to ZScript made it slower. It's already as fast as it can be.
I don't know how Zandronum works and I have no experience optimizing stuff to be network friendly, so yeah... tl;dr it probably won't play nice in Zan.
EDIT:
Bumi spawns 2 semitransparent skydomes and several clouds into the skybox. I guess all that transparency overdraw costs roughly ~250 just for them to exist and be drawn (this is spawning the objects - the Bumi ticker is disabled)
I also get a 300 FPS decrease just by looking at the chainsaw-balcony area at the start of Doom 2 (no mods), or if there's a horizon line.
I'm not sure if I should worry about these last 2 too much... you probably get the same CPU overhead just loading Brutal Doom :V
