SkinnedGrass - Performant interactive foliage

Hi there! Any progress on the EditableMesh version and possible benchmarks?

EDIT:
As a note to all, because this seems to be confusing for some, this DOES NOT include SkinnedGrass. It is merely a benchmark testing file for EditableMesh grass.

I’m back with some not great news… it’s pretty slow. There is no ā€œBulkMoveToā€ for EditableMeshes, or anything to optimize a mass vertex update, so you can’t really get anything good.

For 10,000 blades of grass I’m getting about 5ms to move the blades and another 1ms for the wind calculation.

Download or create a copy below to try yourself.
Physical Grass Testing.rbxl (53.9 KB)

1 Like

I am not getting 5-6ms like you said with your test place, I get around 2-3ms with a few 4.0ms outliers (3 times)

Edit: I noticed that the place file doesn’t even have the skinned grass module etc? (I am not sure if I am missing something. Haven’t I used this resource before)

My computer specs would make up that difference, my hardware is nearly 10 years old.

This was merely a test to see how EditableMeshes would fare in a real world test, SkinnedGrass just inspired me to try it.

1 Like

I do not see that your .rbxl has the SkinnedGrass either… just when I Play in Studio, it has a mesh with grass which moves by the wind… not like the skinnedgrass when you walk around…

The purpose of the post is to benchmark EditableMesh and how it can handle grass. It doesn’t have and API and features like SkinnedGrass because:

  1. It is a test
  2. The test performance tells us that it would not fare well in a real environment

Except it DOES in SkinnedGrass’s ā€œtestā€.

theyre are def some optimizations that can be done in there, i managed to get it up around +20 fps, but that only lead me to 80fps compared to my normal 240.

i think youre right, editable meshes just wouldnt work, moving vertices 1 by 1 is just too slow. roblox needs a function to move in bulk like you said, or let us update editable meshes in parrellel

1 Like

Editing editablemeshes in parallel would be a godsend… allow us to make our own gpus :slight_smile:

Yeah too bad Roblox needs to update 10000 things before improving their engine.:sob: