Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
low FPS in reproduced Benchmark scene
#1
Hello.

I tried to reproduce the "Benchmark" scene programmatically with my own 32 procedurally generated patches of cloth (no wind though). Everything worked fine! The blueprints, the connections with solvers, updaters, and so on. However, I observed differences in displayed FPS values: My scene always runs at 75% FPS relative to the benchmark scene. Since both are opened in the same project I don't suspect Unity's time/fixed time-settings, or similar things, to interfere here.
I also checked:
- updater cycles
- enabled constraints in solver

I even have no environment geometry, no textures and no wind, as mentioned.

Has anyone an idea what the reason for lower FPS could be in this case?

Thank you.
Reply
#2
(15-05-2023, 11:43 AM)OurObiForumUser Wrote: Hello.

I tried to reproduce the "Benchmark" scene programmatically with my own 32 procedurally generated patches of cloth (no wind though). Everything worked fine! The blueprints, the connections with solvers, updaters, and so on. However, I observed differences in displayed FPS values: My scene always runs at 75% FPS relative to the benchmark scene. Since both are opened in the same project I don't suspect Unity's time/fixed time-settings, or similar things, to interfere here.
I also checked:
- updater cycles
- enabled constraints in solver

I even have no environment geometry, no textures and no wind, as mentioned.

Has anyone an idea what the reason for lower FPS could be in this case?

Thank you.

Hi,

I'd suggest to compare the profiler output for both scenes, as that will give you an idea of where the difference lies.

This is just a guess, but could it be the cloth renderer settings, specifically the tangent space update mode? The benchmark scene uses "Recalculate Normals From Mesh", which is quite cheap compared to the default "Transform Normals and Tangents". See: http://obi.virtualmethodstudio.com/manua...modes.html

kind regards,
Reply
#3
I did actually look at profiler measurements and noticed some differences I cannot recall now.
Regarding tangent space update mode: I remember going through all settings but without noticable effect.

Since I put not much effort in both of these points, I'll try again and report shortly.


Thank you for your quick response, and of course for this valuable software package!
Reply
#4
I profiled the scenes again.
One can clearly see the 32 UpdateClothRenderer calls in both images.

[Image: view]
[Image: view]
(EDIT: Not getting images to work. Am trying.)

In the benchmark scene these 32 calls take approximately 550 μs.
In my custom scene, they take about 1650 μs.

The mesh used in my scene is procedurally generated. I can not imagine that this could make a difference.

One more thing to note: I have two seperate vertex groups with one independent hook applied (particle attachments) on each of the 32 cloth patches. I reduced those to one without effect.

What other factors could you think of, that could cause these results?

Greetings!
Reply
#5
(17-05-2023, 10:26 AM)OurObiForumUser Wrote: I profiled the scenes again.
One can clearly see the 32 UpdateClothRenderer calls in both images.

[Image: view?usp=sharing]
[Image: view?usp=sharing]
(EDIT: Not getting images to work. Am trying.)

Both links to the images are dead, not sure if you removed the images after posting the links or if they didn't work beforehand either. Pasting any link to an image with the tags should work.



(17-05-2023, 10:26 AM)OurObiForumUser Wrote: In the benchmark scene these 32 calls take approximately 550 μs.
In my custom scene, they take about 1650 μs.

The mesh used in my scene is procedurally generated. I can not imagine that this could make a difference.

One more thing to note: I have two seperate vertex groups with one independent hook applied (particle attachments) on each of the 32 cloth patches. I reduced those to one without effect.

What other factors could you think of, that could cause these results?

Assuming both ObiClothRenderers (yours and the ones in the sample scene) are using the same tangent update method, only difference I can think of is the complexity of the meshes. How many vertices/triangles in your procedural mesh, compared to the one used in the sample scene?

kind regards,
Reply
#6
Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation while mine is homogenously triangulated (otherwise dimensions are the same 16x16).
Thanks for now.


Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation. Mine is homogenously triangulated (otherwise dimensions are the same 16x16).


Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation. Mine is homogenously triangulated (otherwise dimensions are the same 16x16).


Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation. Mine is homogenously triangulated (otherwise dimensions are the same 16x16).
Reply
#7
(22-05-2023, 01:44 PM)OurObiForumUser Wrote: Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation while mine is homogenously triangulated (otherwise dimensions are the same 16x16).
Thanks for now.


Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation. Mine is homogenously triangulated (otherwise dimensions are the same 16x16).


Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation. Mine is homogenously triangulated (otherwise dimensions are the same 16x16).


Sorry for the images, I had to give up temporarily.
I noticed that your mesh shows alternating triangulation. Mine is homogenously triangulated (otherwise dimensions are the same 16x16).

Hi,

Amount of triangles in the mesh is not important, but vertex count does a make a difference.

Could you share your mesh and/or the script you’re using to generate it? (note you can send them to support(at)virtualmethodstudio.com if you don't wish to share publicly in the forum).

Thanks!
Reply