Iris- can I change the netdriver to tick child connections with a ParallelFor for a quick win?

Hey again Iris buddies:

I love Iris- I probably haven’t said that enough. It’s still got some slow bits when we’re talking 100+ connections. A few things like priority update, scope update, the grid filter, etc seem like easy wins to parallelize (maybe) but then I get down to actually writing the packets, which seems to happen inside the ticking of the data channel inside the ticking of the child connections. It feels like, in theory, this could have been written in a thread safe way, but it’s not trivial to go through and verify (especially because there are some delegates that can be hooked up that might break it) Have y’all experimented with this kind of thing? Any gotchas you can warn me about ahead of time? I remember long long ago the promise was for iris to be multi-threaded but then that got removed from the marketing text- maybe it’s in good enough shape for that to make a come back?

Thanks,

Josh

Hi,

While we don’t have any specific roadmap to share on this, work to parallelize Iris is ongoing.

Most recently, support for multithreading the polling phase of the tick has been implemented (CL 43030352 in UE5/Main).

We are currently looking into supporting running NetConnectionTick in parallel on servers, allowing for separate tasks to be run for each connection and for Iris’ write phase to be parallelized. Again though, I can’t provide any estimate as to when that support may be available, and any plans around this are subject to change.

Thanks,

Alex