UPBGE 0.36 Massive impact of Boolean Modifier on Depsgraph

Hi,

tried the new official UPBGE 0.36 release on Win10.
Compared to 0.3 the 0.36 release has a massive impact on fps when Boolean modifier is used.
This demo can show the difference:
(Boolean enabled during game with mouse RMB then LMB:)

In this demo the Boolean is not the problem (no change if I remove it), but the Depsgraph went from 5ms to 10ms compared to 0.3:

Apart from that - having read the new Release notes there is fantastic new stuff in there. Congrats!

1 Like

Aha
Concerning the 1st demo:
The Boolean Modifier of UPBGE 0.36 is 2x slower than on 0.3 when set via API and set to “EXACT”

I think I will just set it to “FAST”, this works fine and is really much(!!) faster.
own['bool_mod'].solver = 'FAST'

Now if I just could find out why the Depsgraph is so high for the 2nd demo ??

hey, long time no talk musikai. I was trying to port my game to a different engine due to all the issues with UPBGE 3 was giving me but it was mostly more work than it should have been. so I just decided to come back to UPBGE. thanks for this update on this demo It is really doing wonders for my projects and I always come back to it from time to time to get Inspiration.

hay by any chance do you know if the new UPBGE 0.36 has anything for the bouncing ball issue we kept having back then? I did have a workaround but it created other issues with jumping and other mechanics I wanted the game to have.
https://blenderartists.org/t/solution-to-the-ball-bouncing-on-mesh-edges/1459935?u=lord_airend

Hi,

what engine did you try?
Funnily I’m just trying my hands on Godot. Was curious how it performs with an old project that brings down UPBGE on the knees.
(I could live with low fps but in UPBGE the audio engine also begins to stutter at low fps.)

Godot can handle the exact same project very satisfactorily. Of course it is a whole new univers to learn.

For the bouncing: I don’t think there is anything different in 0.36.
We would just need a simple 0.3-test-playground file with the problem to test.
I didn’t try your solution yet because I just didn’t have fun creating such a scenerio.

IIRC the proposed approach would be to increase the physics steps.

oh, I thought I mentioned this when we first met. I came to UPBGE from Godot. I was using Godot slightly before the 3.0 update and I did try to port it to the base Godot 4.0 but had issues with some of the mechanics like boolean, moving platforms, and a few other mechanics that worked fine in UPBGE. I also tried for the first time Unity but that was so annoying that I was pulling my hair out and after the Unity little greedy act finally made me not want anything to do with them. then I tried Armory 3d which is like UPBGE but it was underperforming. My last chance was Unreal engine but at that point I was done fooling around and wasting time trying to port this project and decided to just stick to UPBGE and hoped to find a solution to my issues or pray future updates fix them.

sorry I meant about the sleeping meshes issue in the link.

Quote “also, this was a much bigger problem than we initially thought. if you keep subdividing one of the 4 faces it will create these multiple lines on the other 2 faces. this has the crazy effect of it acting like an invisible wall.” Quote

although, on testing of this new update, it seems much better. I don’t see the red square going crazy anymore and the invisible wall is not always there anymore I do hit a wall sometimes but it’s hard to recreate now. im gonna try to create more sleeping mechs lines to see if I could make it appear more but I think I should be able to now create maps and not worry about invisible walls too much. yeah, I was so busy trying to port my game that I didn’t even test the new update XD.

Hi,

I can see you really looked into the major game engines.
I like Godot because it’s free and small and seems to be very capable.
I understand that staying with your game in UPBGE completelly with all the special stuff. Porting this to another engine really means to reinvent it all again.

Now I looked into UPBGE again for the bouncing problem. You are right about the triangulated physics lines. It doesn’t matter if you already have a triangulated plane, they make problems. But UPBGE 0.36 behaves much better than 0.3 in this regard.

I found this:

  • For flat plane best use box or convex hull physics shape.
  • But if using triangulated physics bounding box UPBGE 0.36 is much better than 0.3.

This is all for a Ball (with Sphere-physics shape) roling over the landscape.
Things might be different for other shapes but then it’s another problem.

(Setting higher physics steps (max and substeps) didn’t make much difference for triangulated mesh in UPBGE 0.3 but does help in UPBGE 0.36)

Cool if you can stay in UPBGE with your game. :slight_smile: How is it going?

1 Like

Oh yeah for sure! I have been playing around with the new update and it’s handling those sleeping meshes so much better. also, I have found other sneaky ways to avoid it by not having large meshes attach to multiple smaller meshes. this makes it so the large mesh doesn’t create multiple triangulated lines on it for each smaller mech attached to it. it means more individual meshes which would take a hit on the performance but it’s better than random invisible walls.

yeah as you put different engines have big heeps and hoops to overcome when it comes to porting games. that’s why people highly recommend being absolutely sure of the engine you start your project on because it’s much harder to later switch.

As for the bouncing issue, im not too worried about that I was more worried about the triangulated line causing issues with building maps and having random invisible walls all over.

lastly, I haven’t done more with maps for the worries above but I have gone full-on on map assists and the weapon models for the abilities. I might soon create a big dev blog with all the models. I also refined the Python script for movement and smoothness. also added pinpoint targeting for the weapon abilities. everything will be showcased once im ready but first I want to see what more surprises this update has in store.