golgepapaz
Topic Author
Posts: 43
Joined: 01 Aug 2013, 01:59

poor performance of noesis calls.

06 Oct 2013, 18:34

I am drawing buttons that move with objects in unity and turning them on or off if whether they are visible
by the camera. I discovered much to my chagrin that this is very costly as shown in the highlighted sections of unity profiler capture below.
Image

I am using canvas.SetLeft() and setTop() for moving and SetVisibility() for turning on/off the buttons every update. I am guessing there is a better way to this?
Last edited by golgepapaz on 05 Mar 2014, 09:42, edited 1 time in total.
 
User avatar
jsantos
Site Admin
Posts: 3805
Joined: 20 Jan 2012, 17:18
Contact:

Re: poor performance of noesis calls.

06 Oct 2013, 19:19

We haven been reported that calls from c# to c++ take too much time. We are investigating this issue. We are going to change a few things to improve the performance. Anyway, it is always important to consider:
  • Avoid redundant calls as much as possible. If an item didn't change position in a frame don't set it again. If the visibility didn't change, the same...
  • To improve stability and error checking, the perfomance of NoesisGUI inside the editor is worse than standalone (in fact, they are different Dlls) Could you repeat the benchmark with a standalone executable?
Thanks.
 
golgepapaz
Topic Author
Posts: 43
Joined: 01 Aug 2013, 01:59

Re: poor performance of noesis calls.

03 Mar 2014, 10:22

As of 1.1.5 there is a great improvement (up to 20 times) in editor although still not comparable to standalone mod. I wonder is it possible to use standalone dll in editor time ?
 
User avatar
jsantos
Site Admin
Posts: 3805
Joined: 20 Jan 2012, 17:18
Contact:

Re: poor performance of noesis calls.

03 Mar 2014, 20:53

Yes, we improved a lot the error handling mechanism inside the editor in v1.1.5. Although it will never be as fast as standalone because inside the editor our priority is avoid crashing Unity. Under your own risk you could copy noesis.dll from the plugins directory (the standalone version) to the editor folder (although with this hack you won't be able to build). We could even add an "unsafe" setting to do this in the future automatically.

Having all our math types (matrix, point, rect..) as structs instead of classes will also help to reduce this problem. This is planned for noesisGUI v1.2

Who is online

Users browsing this forum: Google [Bot] and 7 guests