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.
Comments (1)
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
- DownloadHandlerScript.CompleteContent is called twice when building for WebGL
- Scene view has Y coordinates of the Screen Position node flipped when some of the URP features are disabled
- Volumetric fog shader variants are missing from build when "Strict Shader Variant Matching" is disabled
- Unnecessary modifications clutter the Scene when using a RectTransform driven by a LayoutGroup in a Prefab
- Files in the target folder are deleted without a proper warning when building an iOS project
wolilio
Mar 23, 2021 08:38
not fixed in 2020.2.5f1!!