New Explorer - Selection delay caused by Selection:Set, LuaBridge

Description

A while ago, there was this demonstration that there would be a delay compared to the Old Explorer.

This is still present and seems to be caused by game.Selection:Set

You can try it and just run it straight away, without even selecting anything in the Explorer. And then apparently the other way around also has a slight delay, but not as much as the :Set method

 

It is this

Re-production Steps

  • Select anything in the Explorer
  • Or run game.Selection:Set({game.ReplicatedStorage})

Expected Result

Less delay?

.HoverInstance used by the Move Draggers is faster, but doesn’t take a table as an input.

Actual Result

There is a delay compared to the Old Explorer.

1 Like

This isn’t a bug, the difference in timing is just due to architectural differences between the relevant C++ and Lua code, not due to a coding mistake.

It’s a latency issue, not a performance issue, and the latency in question isn’t high enough that it’s worth twisting the architecture’s arm here to get it to be lower.

Having frame-perfect sync between UI actions and all the downstream selection updates isn’t necessarily desirable because Studio has to do a lot of work when the selection changes. Forcing frame-perfect updates in response always as a strategy would lead to frame drops.

1 Like