playMaker

Author Topic: Editor performance on gameobject with lots of fsms  (Read 1386 times)

Gua

  • Full Member
  • ***
  • Posts: 160
    • View Profile
    • Andrii Vintsevych
Editor performance on gameobject with lots of fsms
« on: March 25, 2019, 05:37:45 AM »
I often work with gameobjects that have a lot of fsms on them. That means when that kind of game object is selected, performance in editor is very poor (5-10 fps).

If I collapse thosefsms like this. Performance gets back to normal.


But for my workflow I need fsm name and edit button. And collapsing those partially doesn't completely solve the issue


I guess it's because all those refresh buttons and extra stuff still needs to be rendered. By the way, I don't even know what those Refresh buttons supposed to do.

So is there a way to enable some simplified rendering for those fsm components in inspector or some sort of workaround for the issue?

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 4462
    • View Profile
    • jinxtergames
Re: Editor performance on gameobject with lots of fsms
« Reply #1 on: March 26, 2019, 02:08:24 AM »
Hi.
A while ago jean and i where actually talking about the exposed variables.

It was not so for performance but i think this will help in performance actually.

The idea was to have the exposed variables in a separate window and sorted by fsm/catergoy/name.

And being able to see and set variables from there.
But it might also be usefull during gameplay and have less performance issues.

I will, contact jean and have a look if we can build something like this.
« Last Edit: March 26, 2019, 02:14:56 AM by djaydino »
FOR HIRE:Playmaker/C#

Playmaker Samples <-------------> Easy Exporter <---------------------> TPA Actions

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 14400
  • Official Playmaker Support
    • View Profile
Re: Editor performance on gameobject with lots of fsms
« Reply #2 on: March 26, 2019, 02:47:49 AM »
Hi,

 can you share this project so we can look at it? 5-10fps is very low, something is odd here. Have you ran the editor profiler to see what's going on?

- what version of Unity are you using?
- what version of PlayMaker are you using?

 Bye,

 Jean

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 4462
    • View Profile
    • jinxtergames
Re: Editor performance on gameobject with lots of fsms
« Reply #3 on: March 26, 2019, 09:42:22 AM »
Hi.
I got also a very low fps if inspector is in sight and fsms are not collapsed.
on one of the projects i am working on, But i have 19 fsms on the object :)

U : 2018.2.10f1 PM : 1.9.0.p12

if you wish i can ask if i can share to you.
FOR HIRE:Playmaker/C#

Playmaker Samples <-------------> Easy Exporter <---------------------> TPA Actions

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 14400
  • Official Playmaker Support
    • View Profile
Re: Editor performance on gameobject with lots of fsms
« Reply #4 on: March 28, 2019, 02:33:12 AM »
Hi,

 sure, send it to Alex directly :) he'll have a better understand of what's going on and where things can be improved at that level.

 Bye,

 Jean

Gua

  • Full Member
  • ***
  • Posts: 160
    • View Profile
    • Andrii Vintsevych
Re: Editor performance on gameobject with lots of fsms
« Reply #5 on: May 05, 2019, 12:54:14 PM »
Hi,

 can you share this project so we can look at it? 5-10fps is very low, something is odd here. Have you ran the editor profiler to see what's going on?

- what version of Unity are you using?
- what version of PlayMaker are you using?

 Bye,

 Jean
Sorry for late response.
Unity 2018.3f2. Playmaker 1.9.0p5. It's actually easy to reproduce in fresh project. Just add 30 fsms to any object and have inspector opened. In empty project it will be better than 5 fps, but performance decrease will be noticeable.

I did send you real/test project. (Check your PM).

Here's what profile shows in my real project. As expected it's InspectorWindow.DrawEditors


p.s. Maybe there's a component that is responsible to what is being shown in inspector and I can private most of the stuff there to prevent it from showing it? Cause I usually only need Name. Edit button. Template field and reset on disable.

Performance was noticeable better in Unity 5.6. So I suspect that Refresh button (I mean drawing it 30 times) is what consuming a chunk of performance. By the way. Can someone explain to me what refresh button does?

Here's same object in Unity 5.6
« Last Edit: May 05, 2019, 01:37:49 PM by Gua »

Gua

  • Full Member
  • ***
  • Posts: 160
    • View Profile
    • Andrii Vintsevych
Re: Editor performance on gameobject with lots of fsms
« Reply #6 on: June 08, 2019, 03:02:29 AM »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 14400
  • Official Playmaker Support
    • View Profile
Re: Editor performance on gameobject with lots of fsms
« Reply #7 on: June 13, 2019, 04:46:17 AM »
:)

Let me ping Alex to check if he's on your case.

Bye,

 Jean




Gua

  • Full Member
  • ***
  • Posts: 160
    • View Profile
    • Andrii Vintsevych
Re: Editor performance on gameobject with lots of fsms
« Reply #8 on: June 25, 2019, 03:19:11 AM »
Since you've stopped responding to PM messages. I got worried. Please confirm that you received my last message regarding links to the project. Also, if you send me e-mail address for communication. It will be great, cause forum PMs seems unreliable. 

miguelfanclub

  • Full Member
  • ***
  • Posts: 148
    • View Profile
Re: Editor performance on gameobject with lots of fsms
« Reply #9 on: June 25, 2019, 03:07:57 PM »
Better you guys continue here, so we all can see whats going on.

Gua

  • Full Member
  • ***
  • Posts: 160
    • View Profile
    • Andrii Vintsevych
Re: Editor performance on gameobject with lots of fsms
« Reply #10 on: June 26, 2019, 10:48:17 PM »
Better you guys continue here, so we all can see whats going on.
I need to send him links to my project. So at least that part should be private. Actually I did send him links, multiple times, but he replayed that he doesn't see those links in the private message, that's why I want to switch to e-mail. Cause PM system in this forum seems bugged.

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 4462
    • View Profile
    • jinxtergames
Re: Editor performance on gameobject with lots of fsms
« Reply #11 on: June 27, 2019, 12:41:56 AM »
Hi.
If the link is a url, it should show up.

what kind of link are you sending?
FOR HIRE:Playmaker/C#

Playmaker Samples <-------------> Easy Exporter <---------------------> TPA Actions

Gua

  • Full Member
  • ***
  • Posts: 160
    • View Profile
    • Andrii Vintsevych
Re: Editor performance on gameobject with lots of fsms
« Reply #12 on: June 27, 2019, 05:20:56 AM »
Hi.
If the link is a url, it should show up.

what kind of link are you sending?

allender

  • Playmaker Newbie
  • *
  • Posts: 17
    • View Profile
Re: Editor performance on gameobject with lots of fsms
« Reply #13 on: June 27, 2019, 07:33:31 AM »
One thing that I've noticed about performance in editor is that the playmaker window itself can cause slowdowns.  I've seen super slow performance while play in editor with the playmaker window open.  As soon as I scrub the visible portion of the state machine using the rect view in the upper right corner of the PM window, performance seems to return to normal.

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 4462
    • View Profile
    • jinxtergames
Re: Editor performance on gameobject with lots of fsms
« Reply #14 on: June 27, 2019, 07:47:38 AM »
Hi.
Strange indeed that they are not show at Jean's end.

I have also lag issues similar to yours on a character with 20+ fsms.

I am actually thinking to make a tool so i can drop in fsms that exposes variables in the inspector.
And it will display all the variables in a separate window. (with fsmnames and category to group them)

That way the fsms can stay collapsed and i think it will improve the performance
and also workflow.

But at the moment i have a overload of work for the summer, so i can't say when i can create this.
FOR HIRE:Playmaker/C#

Playmaker Samples <-------------> Easy Exporter <---------------------> TPA Actions