Search Issue Tracker
Fixed
Votes
0
Found in
5.4.2f1
Issue ID
841407
Regression
No
Multithread not working with IL2CPP
1. What happened
When using IL2CPP backend the ThreadPool.QueueUserWorkItem() multithreading method leads to slower performances for each thread created while Mono backend works as expected.
2. How we can reproduce it using the example you attached
I wrote a little script using multithread to dispatch a stupid algorithm incrementing an array of int. You can see threadcount, threadsize, average total duration in game view as well as estimated average time for each thread execution.
By building with Mono backend you'll notice that pressing "X" on the pad will change threadcount, globaly the more thread you set the faster the array is completed.
Then switch to IL2CPP and notice that even if performances are great using this backend, the multithreading support seems to destroy every gain and the more thread you use the slower the method is.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Adding a git url package shows it in the Unity Registry section of Package Manager
- Mesh Renderer is frozen when there are duplicate Static GameObjects
- ScalableBufferManager.widthScaleFactor always returns 1 when using DirectX 11
- [iOS] Camera loses focus when the device is near an object on some iOS devices
- "Maximum Cube Reflection Probes on Screen" is clamped to 64 when changing it to higher value than 64
wolilio
Mar 23, 2021 08:38
not fixed in 2020.2.5f1!!