I have some code that runs in jobs and works great, big speed up on my Intel 6 core system. The same code was run on an AMD 8 core/16 thread system and it makes no use of the Worker threads at all according to the profiler, below are two grabs from the profiler, first the Intel 6 core. Plenty of blue on the worker threads.
The first one doesn’t have any stall going on for Mesh skinning, the second one has Burst jobs in a different color (green blueish), which I believe was a change added I a later version of Unity. Are you sure you are comparing frames with comparable workloads?
I will check with the tester, he said it was the same scene. But even after the wait for skinning I would have expected the jobs to show up after that but there is nothing, so what happened to the work done by the jobs? Did it all go on the main thread or something?
Edit: Did a stress test for skinning while investigating this and I found turning off GPU skinning made everything run a lot faster, went from 100fps to 500fps. Is there an issue with Jobs and GPU skinning? Note the skinned mesh has no bones just blendshapes in this test.
Hi @SpookyCat !
I happened to have an AMD R9 3900x and since I admire Megafiers I already have Megafiers2, so I just fired up a test project with it:
As you can see the Noise is working for sure. Bursted and all. Not the best coverage I ever seen, but it works just fine. If you want me to check anything specific feel free to ask me to check on it either here or in PM, when I have the time I’ll do it.
MegaBakeMeshTest
BTW, MegaBakeMeshTest.cs contains this code, which I had to comment out since there is no CustomTreesTest in the package otherwise.
CustomTreesTest ctt = newobj.GetComponent<CustomTreesTest>();
if ( ctt )
DestroyImmediate(ctt);
Thanks for the help Good to see it working, could you send me the profiler data to my email address so I can take a look. Just wondering what is causing all the memory allocs and GC, I dont see any of that in my test scene.