Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Performance issue on specific Windows desktop machine
#6
(18-10-2022, 11:27 PM)michele_lf Wrote: Ha! That is exactly what we are doing. Fairly large cloth with ~6600 particles (vertices).

We are using a custom version of the ObiAmbientForceZone, where we use 3D Perlin noise and we sum it up with various difference forces to obtain the desired behaviour. We then use actor.solver.wind to apply to each particle.

Evaluating 3D perlin noise in the main thread in the CPU is extremely expensive (unless you only evaluate it at a handful of points). The default implementation only evaluates 2D perlin noise once per frame, to get time-varying wind intensity turbulence. If you're evaluating noise at each particle's position to get spatially-varying directional noise, you should definitely write a job to parallelize this.

The force zone's ApplyForcesToActor() method is called during the solver's OnBeginStep callback, as you can see in the base class for force zones (ObiExternalForce.cs). So this is where the 15 ms during BeginStep are being spent on.

(18-10-2022, 11:27 PM)michele_lf Wrote: Everything else in the solver is set to parallel with 1 iteration for now. We are using self collisions, surface collisions are prohibitive at the moment.

Note that "parallel" constraint evaluation doesn't have anything to do with multithreading, both parallel and sequential methods are multithreaded. Parallel in this context refers to the order in which multiple constraints are applied to a single particle, which affects convergence speed and force distributions. See "Evaluation mode" at the very end of: http://obi.virtualmethodstudio.com/manua...olver.html

(18-10-2022, 11:27 PM)michele_lf Wrote: By the way this asset is phenomenal!!!

Thank you for your kind words! I'm currently working on making it even more phenomenal Sonrisa

kind regards,
Reply


Messages In This Thread
RE: Performance issue on specific Windows desktop machine - by josemendez - 19-10-2022, 09:36 AM