Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Linux Build not working. ONI DLL not found
#11
(20-12-2019, 10:03 AM)josemendez Wrote: Ok! Installing same Ubuntu version to test it out there. This might take a while because we need to reproduce the issue, isolate a reproducible minimal case, and wait for the guys at Eigen to provide a fix. Worst case scenario, we can temporarily disable alignment (and vectorization) to get it to run, although with much worse performance.

I would like to disable to disable alignment (and vectorization) to get it to run if possible Sonrisa how much time do you think the proper fix would take? (ballpark estimation)
Reply
#12
(20-12-2019, 11:09 AM)Emmaa Wrote: I would like to disable to disable alignment (and vectorization) to get it to run if possible Sonrisa how much time do you think the proper fix would take? (ballpark estimation)

Couple days, have to recompile and test it. Should be done by monday. Keep in mind however that disabling vectorization will hurt performance quite noticeably (up to 50%).
Reply
#13
Just reproduced the issue in Ubuntu 18.04.3 LTS. Does not happen in Mint 2.4.

Will investigate further.
Reply
#14
Think I found the cause and fixed it, no need to resort to disabling vectorization. I've sent the patched libs to your colleague (Alexander) via email. Let me know how it goes so that I can include the fix in the next production release.

Thanks for reporting this!
Reply
#15
(20-12-2019, 01:46 PM)josemendez Wrote: Think I found the cause and fixed it, no need to resort to disabling vectorization. I've sent the patched libs to your colleague (Alexander) via email. Let me know how it goes so that I can include the fix in the next production release.

Thanks for reporting this!

Thank you soo much! working perfectly on our side!
Reply
#16
(20-12-2019, 03:05 PM)Emmaa Wrote: Thank you soo much! working perfectly on our side!

Glad it works! Let me know if you encounter any other issue. Sonrisa
Reply
#17
Hi! We are experiencing the Dll not found execption in the linux editor and linux build (again), but this time, everything works, but the performance is way worse than on windows.

The issue is: In windows we are getting 60+ fps all the time (around 80) and on a very similar machine, (same CPU) we are getting less than 30.

I'm not sure exactly what is causing this, if you could help us figure out the issue this would be amazing!

Here's the details:

unity version: 2019.3.7f1
Obi version: the one you sent us by mail (5.1?)
Linux distribution used in the editor: ubuntu 18.04 LTS
Linux distribution used in production (build): Debian 8

number of particles used: 810 (2 softbodies)
substep: 1
constraints iterations: Collision, shape matching and pin: 3 everything else disabled
Fixed Timestep: 0.02
Maximum allowed Timestep: 0.1

While profiling on windows we had an Obi (fixed update) of 2.15 ms which is great and fits perfetcly what we allowed in terms of CPU time for the softbody;

But in linux it's another story, we are getting around 117 ms for it; here are some screenshots of the profiler in linux:

Overview:

   


Other observation: Commenting out interpolation from the update method in  solves the issue, but softbody stops reacting (obisolver.cs:1339)

   

Second post for more screenshots:

ObiUpdater.EndStep()

   

ObiUpdater.BeginStep()

   

ObiUpdater.Substep()

   

thanks in advance!
Reply
#18
(09-05-2020, 03:00 PM)Эммаа Wrote: Hi! We are experiencing the Dll not found execption in the linux editor and linux build (again), but this time, everything works, but the performance is way worse than on windows.

The issue is: In windows we are getting 60+ fps all the time (around 80) and on a very similar machine, (same CPU) we are getting less than 30.

I'm not sure exactly what is causing this, if you could help us figure out the issue this would be amazing!

Here's the details:

unity version: 2019.3.7f1
Obi version: the one you sent us by mail (5.1?)
Linux distribution used in the editor: ubuntu 18.04 LTS
Linux distribution used in production (build): Debian 8

number of particles used: 810 (2 softbodies)
substep: 1
constraints iterations: Collision, shape matching and pin: 3 everything else disabled
Fixed Timestep: 0.02
Maximum allowed Timestep: 0.1

While profiling on windows we had an Obi (fixed update) of 2.15 ms which is great and fits perfetcly what we allowed in terms of CPU time for the softbody;

But in linux it's another story, we are getting around 117 ms for it; here are some screenshots of the profiler in linux:

Overview:



Other observation: Commenting out interpolation from the update method in  solves the issue, but softbody stops reacting (obisolver.cs:1339)



Second post for more screenshots:

ObiUpdater.EndStep()



ObiUpdater.BeginStep()



ObiUpdater.Substep()



thanks in advance!

Hello, I also have this problem (When I build linux build on Windows and it has performance in two-three times less than Windows). 
Have you tried to build in il2cpp mode? 
And do you have this issue: http://obi.virtualmethodstudio.com/forum...03#pid6703 ?
How do you resolve problem with Oni dll in Linux Editor?
Reply
#19
(09-05-2020, 03:26 PM)IlyaZzz Wrote: Hello, I also have this problem (When I build linux build on Windows and it has performance in two-three times less than Windows). 
Have you tried to build in il2cpp mode? 
And do you have this issue: http://obi.virtualmethodstudio.com/forum...03#pid6703 ?
How do you resolve problem with Oni dll in Linux Editor?

Hi,

There's a slight difference in performance between both libraries, mainly because the windows one is compiled using llvm/clang while the linux one uses MingGW.

This alone does not justify such large performance drops as the one originally reported (2 ms - 117 ms) so the only cause I can think of is death spiraling. In the OP's profiler pics, it is clearly visible that FixedUpdate is being called 6 times per frame. That alone will cause performance to be 6 times slower, as physics should only be updated once per frame under normal circumstances. Increasing Unity's fixed timestep or decreasing the max fixed timestep would enable the simulation to recover and perform normally.
Reply
#20
Quote:Hello, I also have this problem (When I build linux build on Windows and it has performance in two-three times less than Windows). 
Have you tried to build in il2cpp mode? 

I wasn't able to, Il2CPP generates a lot of errors in our project, if that's the only solution I'll look further into it.


Quote:And do you have this issue: http://obi.virtualmethodstudio.com/forum...03#pid6703 ?


Thanks! this solved the DLL missing exception message and everything is now working in the linux editor too. Performances are still the same though.

Quote:How do you resolve problem with Oni dll in Linux Editor?



The link you just provided solved the Dll missing error for me

Quote:Hi,

There's a slight difference in performance between both libraries, mainly because the windows one is compiled using llvm/clang while the linux one uses MingGW.

This alone does not justify such large performance drops as the one originally reported (2 ms - 117 ms) so the only cause I can think of is death spiraling. In the OP's profiler pics, it is clearly visible that FixedUpdate is being called 6 times per frame. That alone will cause performance to be 6 times slower, as physics should only be updated once per frame under normal circumstances. Increasing Unity's fixed timestep or decreasing the max fixed timestep would enable the simulation to recover and perform normally.

It was recorded with deep profiling enabled so this might be the reason for the death spiraling, thanks for the input!.

With real-world tests, on our production machine we get 40-50 fps (same particle count and parameters as before, debian).

But on windows with a slightly faster machine we get 350+ fps (on the same machine but ubuntu around 300).

So it might just be that the production machine is just slow enough to reach the death spiraling threshold... but seems weird that it "stops" at 50, I would expect worse results. (setting the max fixed timestepdid not help in the production test)

Let me know if you have any suggestions!
Reply