Godot: How about removing the update spinner by default, and having an Editor Setting to enable it?

Created on 16 Nov 2018  路  14Comments  路  Source: godotengine/godot

The update spinner is really distracting, always moving in the corner of my eye. The first thing I do on any new installation is turn it off. I think it would be more friendly to newcomers if they didn't have to do that.

I would also argue that, to the average user, it serves no purpose. I don't need to be told that the UI is updating; I know that already, because _I can see the UI being updated_. It's not something that people normally need or want to think about.

It's interesting to engine developers, sure, so they can see the UI isn't being updated needlessly. So why not hide the spinner by default (and _not_ waste screen space with a dropdown arrow), and add an option Show Update Spinner in Editor Settings > Interface > Editor?

Am I the only one who feels strongly about this, or is there actually a good reason for it to be enabled by default?

Totally willing to make a PR!

discussion enhancement editor usability

Most helpful comment

It's interesting to engine developers, sure, so they can see the UI isn't being updated needlessly. So why not hide the spinner by default (and not waste screen space with a dropdown arrow), and add an option Show Update Spinner in Editor Settings > Interface > Editor?

Perhaps it could be left enabled in debug builds (tools=yes target=debug) and disabled entirely in release builds (tools=yes target=release_debug). I would rather not add yet another option to the Editor Settings, which already presents a lot of options to the user.

This also has the benefit of making it easier to visually distinguish debug and release editor builds (the latter is faster and therefore more suited for production usage).

All 14 comments

add an option Show Update Spinner in Editor Settings > Interface > Editor

Agree, it rotates like crazy in any serious project these days anyway.

It's interesting to engine developers, sure, so they can see the UI isn't being updated needlessly. So why not hide the spinner by default (and not waste screen space with a dropdown arrow), and add an option Show Update Spinner in Editor Settings > Interface > Editor?

Perhaps it could be left enabled in debug builds (tools=yes target=debug) and disabled entirely in release builds (tools=yes target=release_debug). I would rather not add yet another option to the Editor Settings, which already presents a lot of options to the user.

This also has the benefit of making it easier to visually distinguish debug and release editor builds (the latter is faster and therefore more suited for production usage).

which already presents a lot of options to the user

Lot of them should be probably removed, but that's another issue.

We internally only use tools=yes target=release_debug with external debug symbols. I think an option to disable the spinner globally would be great. Otherwise, the "fake" FPS 3d view option is sufficient (or could be improved and added to 2d) to possibly completely remove the spinner.

I don't really see a need to have it as a setting. It can just be removed from release builds.

I don't really see a need to have it as a setting. It can just be removed from release builds.

It has been on in releases since Godots start. I personally always hated it but thought that reduz meant this as feature to show the user efficiency issues in the scene by writing editor plugins?

@reduz What do you think?

I agree it could be released on release build.
But I still think it is valuable when you work on the editor, a visual feedback on how often you update the interface is still interesting. Such errors might be difficult to spot, and easy to happen if you update the interface too often.

So to me, @Calinou 's solution is the way to go.

I agree it could be released on release build.
So to me, @Calinou 's solution is the way to go:
Perhaps it could be left enabled in debug builds and disabled entirely in release builds

???

Note: There is no tools + release option and the tools debug build is IMO in 99% cases useless. Anybody writes (gdscript) plugins with the tools release_debug build.
But I'm not up to date and may have forgotten or misunderstood something ...

@capnm When I say "editor release build", I refer to an editor binary built with tools=yes target=release_debug :slightly_smiling_face:

@capnm When I say "editor release build", I refer to an editor binary built with tools=yes target=release_debug :slightly_smiling_face:

Ok got that :slightly_smiling_face:. But I still don't understand what a pure Godot user should do when he writes a plugin and likes the spinner as a useful feature. Compile his own slow "debug" build?

I agree with @capnm, doesn't make much sense to me to make this conditionally enabled based on the build options. target=debug adds debug information, but not editor features, and I prefer not to start changing this.

Either we think the feature is useful and we put an option to allow enabling/disabling it (opt-in or opt-out can be discussed), or it's not and we just remove it.

So far the spinner was useful to me for two reasons:

  • It helped me spot https://github.com/godotengine/godot/issues/11030, which is still happening.
  • It indeed helps seeing if your scene needlessly causes redraws, wich is valuable if your application needs "power saving mode" or if you make a tool (which is basically what the spinner shows when it's not spinning).

But honestly I am not sure what can be done about the first issue so far, it still annoys me but it's due to nVidia driver (even been unable to apply my workaround because the nVidia control panel has a bug!).
For the second case, I would be fine if one could make an editor plugin able to access this redraw information and show it to devs who need it.

Thanks for your input everyone! To summarize: it's useful in some specific cases, both in debug and in release builds, but to the majority of users it's just a distraction.

So I suppose my original suggestion made some sense after all :)

Is there also a use case for toggling between continuous vs. on-demand redraws while the spinner is off? Because hiding the spinner entirely will make that menu inaccessible, so then it'd need to become an editor setting as well.

@ttencate Or possibly just require users to enable the spinner if they want to change those options.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

SleepProgger picture SleepProgger  路  3Comments

nunodonato picture nunodonato  路  3Comments

bojidar-bg picture bojidar-bg  路  3Comments

timoschwarzer picture timoschwarzer  路  3Comments

gonzo191 picture gonzo191  路  3Comments