TheGameCreators / GameGuruRepo

The GameGuru Repository For Community Collaboration
http://www.game-guru.com
137 stars 56 forks source link

Using any of the 'SetVegetationXYZ' lua commands causes massive shearing and slowness #699

Open boltactiongaming opened 4 years ago

boltactiongaming commented 4 years ago

Commands in question: SetOptionVegetation() SetVegetationWidth() SetVegetationHeight() SetVegetationQuantity()

Any of the Lua commands cause the entire engine to stop what it's doing for several seconds and recalculate the Vegetation, which in turn literally stops the engine entirely until it's finished. Example: I had a simple timed loop that every 3 seconds, increased the height of the vegetation as a means of demonstrating the 'growth' of the vegetation. This process was totally infeasible as it resulted in the entire system stalling for 10+ seconds at a time as it calculated new vegetation information.

Recommendations: Buffer, buffer, buffer.
Preprocess Better optimize calculations to reduce system load

plemsoft commented 4 years ago

@boltactiongaming Thanks for reporting this, I dont see any of these commands getting so fast that you can use it for real-time , also you noticed that when you use any of these you get a random effect so the placement might not be the same and using it for real-time is kind of impossible.

I could see this work if we add some new commands that use a geometry shader to change only the highest positioned vertex, this way the shaders could make the veg grow real-time, this is not really a bug as the above commands are not really for real-time use , i will change this to a enhancement and suggest that we add some new commands that allow for real-time changes of the vertex data in the shaders.