Page 1 of 1

Immutable level sections

Posted: Fri Mar 02, 2018 1:43 pm
by Major Cooke
Graf Zahl wrote:What may be doable is to designate larger areas as immutable (i.e. you are not allowed to make any changes whatsoever to its geometry) so that they can be excluded from the BSP and rendered as one large batch from static data. But that's not something that's quickly added and it will require mapper intervention. But yes, that could at least partially solve the outside area performance problems.
Yes. Yes, yes, all my yes. This is something so powerfully needed in a few maps I know of with SUPERNatural, and I sure don't want this lost in the Closed section.

Re: Immutable level sections

Posted: Fri Mar 02, 2018 1:55 pm
by Graf Zahl
And I'm still moving this to "on hold". This is not something 'just' to be added. Otherwise I'd have done this long ago.

Re: Immutable level sections

Posted: Sun Mar 25, 2018 1:02 pm
by Major Cooke
Only curious... While I know this may affect things like vertex/floor/ceiling heights and slopes, what about color changing? Would that also be prohibited for the immutable sectors?

Re: Immutable level sections

Posted: Sun Mar 25, 2018 1:23 pm
by Graf Zahl
Sure. Anything that alters the properties would be off limits, otherwise it wouldn't be immutable, would it?

Re: Immutable level sections

Posted: Sun Mar 25, 2018 1:35 pm
by Major Cooke
GL lights affecting the surfaces too?

Re: Immutable level sections

Posted: Sun Mar 25, 2018 1:41 pm
by Rachael
GZDoom has always needed a static lighting system of some sort, we just got away with not having one because for the most part hardware has advanced to the point of not suffering huge performance losses by not having them.

But that being said, even in immutable levels on Unreal/Quake, movable objects that carry lights have always been allowed to illuminate immutable sections on their own. It does not make sense not to allow that.

Re: Immutable level sections

Posted: Sun Mar 25, 2018 1:56 pm
by Major Cooke
dpJudas from Discord wrote:dpJudas - Today at 2:39 PM
btw it IS feasible to update things only when they change
its just that nobody has volunteered to write the function that marks what the playsim just invalidated
Well, I do think this would be of help.

Re: Immutable level sections

Posted: Sun Mar 25, 2018 2:10 pm
by Graf Zahl
dpJudas from Discord wrote:dpJudas - Today at 2:39 PM
btw it IS feasible to update things only when they change
its just that nobody has volunteered to write the function that marks what the playsim just invalidated
Some may be easy, others are not. It definitely gets messy if vertices are getting moved around.
The main issue here is not the marking but setting the whole thing up so that it actually results in a performance gain - and that is far from trivial.

Re: Immutable level sections

Posted: Fri Dec 28, 2018 12:04 pm
by Major Cooke
Now, assuming there are no monsters in immutable sectors, would using models still present a bigger gain in performance for lots of map geometry over immutable sectors?

Something tells me it would simply because fewer vertices and lines, etc.

And even with no monsters in immutable sectors, BSP traversal will still be needed, I think...

Re: Immutable level sections

Posted: Fri Dec 28, 2018 12:17 pm
by Graf Zahl
As long as there is no collision detection needed, a model will always result in less overhead - simply because it can be rendered as one object and does not cause further complexity in the BSP tree.

Re: Immutable level sections

Posted: Sat Dec 29, 2018 6:10 am
by Apeirogon
So gzdoom slowdowns because of an area size of a map?
Because if so, it can be solved using math, I think.