Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Obi roadmap
#15
(30-06-2022, 07:50 AM)locque Wrote: - Is this only going to improve performance for simulations with tens of thousands of particles, or is there also a benefit to use the compute backend for relatively low particle count and high quality simulations with high solver substeps / low fixed timestep?

Depends on your GPU, but for particle counts below 1500-2000 the CPU ias usually faster.

(30-06-2022, 07:50 AM)locque Wrote: - How much is it going to restrict scripting with particles? Can you still do things like selectively modifying particles touching a trigger collider or is that out of the question?

Will restrict things a bit, but hopefully not too much.

I'm reading some data back to the CPU asynchronously: kick an async readback at the end of each frame, and at the start of the next physics step we wait for the data. Currently only particle velocities and positions are read back, this yields good performance and allows for basic things like attachments and spatial queries to happen on the CPU.

My initial idea was to read back contacts too. This would allow for contact callbacks, the problem is that this places the burden on the user: "here's an array with +200.000 contacts, now iterate trough them to find the ones you're interested in."

To only option I can think of to alleviate this is to expose the contacts in a ComputeBuffer directly. Then, hope the user is comfortable enough with compute shaders to process contact data without it ever leaving the GPU. Out of the box I also want to offer basic stuff implemented on top of this (triggers that kill particles, for instance).

As a side note: all rendering/mesh updating is now done differently for each backend. The Compute backend does it using compute shaders, the Burst backend does it using Jobs which results in a very nice performance boost (very noticeable for cloth and ropes, not so much for fluids and softbodies).
Reply


Messages In This Thread
Obi roadmap - by josemendez - 20-11-2019, 12:36 PM
RE: Obi roadmap - by StudioTatsu - 20-11-2019, 04:37 PM
RE: Obi roadmap - by jp715 - 26-11-2019, 09:34 PM
RE: Obi roadmap - by josemendez - 28-11-2019, 03:50 PM
RE: Obi roadmap - by jp715 - 28-11-2019, 06:24 PM
RE: Obi roadmap - by VincentFTS - 19-12-2019, 10:14 AM
RE: Obi roadmap - by josemendez - 19-12-2019, 12:16 PM
RE: Obi roadmap - by KnotANumber - 23-11-2020, 09:57 PM
RE: Obi roadmap - by josemendez - 24-11-2020, 08:38 AM
RE: Obi roadmap - by whack - 29-12-2021, 09:51 AM
RE: Obi roadmap - by nocanwin - 07-01-2022, 03:15 AM
RE: Obi roadmap - by josemendez - 10-01-2022, 08:19 AM
RE: Obi roadmap - by nocanwin - 11-01-2022, 02:55 AM
RE: Obi roadmap - by locque - 30-06-2022, 07:50 AM
RE: Obi roadmap - by josemendez - 30-06-2022, 09:27 AM
RE: Obi roadmap - by Softscale - 13-10-2022, 10:25 PM
RE: Obi roadmap - by josemendez - 14-10-2022, 08:09 AM
RE: Obi roadmap - by xxxh123 - 20-12-2022, 02:50 AM
RE: Obi roadmap - by josemendez - 20-12-2022, 08:31 AM
RE: Obi roadmap - by spikebor - 25-01-2023, 08:52 AM
RE: Obi roadmap - by SimonP - 03-03-2023, 11:37 AM
RE: Obi roadmap - by xxxh123 - 24-04-2023, 09:44 AM
RE: Obi roadmap - by josemendez - 24-04-2023, 10:00 AM
RE: Obi roadmap - by calvantsang - 11-05-2023, 05:15 PM
RE: Obi roadmap - by josemendez - 12-05-2023, 09:58 AM
RE: Obi roadmap - by SimonP - 14-07-2023, 03:53 PM