We are excited to announce that we have improved the performance for Selection in the Explorer! The time it takes to bulk select or deselect items is about 95% faster, while the performance of drag-select within Explorer is now approximately 60% faster!
You should notice this performance change when performing a shift-select, select-all (⌘/CTRL+A), or when clearing a selection.
Additionally, if you notice any other selection scenarios that freeze up Studio, please comment below and explain in detail how we can recreate the scenarios. We’ll do our best to tackle those issues.
If you’re familiar with the game DOORS, it’s recent update introduced new, bigger rooms which drain more performance.
Right here testing the biggest room of them all, room 100, goes pretty well by itself.
Testing movement with all of them seems to be pretty laggy, so I’m not really sure what to test here. Upon selecting the model (inside it being the 5 rooms) takes about 0.4 of a second from click to actually the frame being “selected”, so I assume that Studio is freezing a bit. It’s not a computer issue, my PC being really new:
For those who are worried why I have assets from the game, I got the model off the Toolbox.
Cool change, however I still find the selection system very poorly optimized…
First of all:
Depending on how many instances you have selected at once, it will considerably slow down roblox studio to even 1 fps (basically the more instances you have selected = the less fps youll actually get unless you deselect them all). This also applies to just simply selecting a single instance that holds a lot of other instances.
Grouping a large amount of instances will freeze studio for quite a long time (the more you have selected the longer studio will stay frozen), this also applies to simply just grouping or moving around whatever single instance that holds a large amount of other instances.
The viewport selection box will freeze studio for short amounts of time whenever you just simply start using it (not even to select other parts, just use it on air). Resizing it will also degrade performance (again, when not even selecting other parts). This issue at least only really starts occurring when there is a considerable amount of instances in the workspace (anything above 10k-35k) and its effects are somewhat minimal, however once you start selecting a batch of instances studio will begin a series of freezes each are longer than the one before making it very hard to select a decent amount of things from the workspace.
Kinda obvious but moving a lot of selected instances around the world will either be very slow or just straight up freeze roblox studio.
Here’s one you might not expect: Does this happen if you are using the new selection highlighting beta? I found that turning that on significantly reduces active lag, because it comes with some nice rendering optimizations.
If I’m not mistaken, your other pain points are related to stuff you do after selecting, right? Grouping, moving, resizing, etc. If so that is a good thing for us to further investigate.
Oh, thank goodness. This update will make selecting stuff so much easier in my game with a huge forest. It also helps for those times that you accidentally select the entire workspace and have to wait a few seconds/minutes to do anything again.
Unfortunately, this performance improvement is expected to impact selection and deselection times specifically. The use case of interacting with studio while having a large amount of selections, and the lag resulting from that, is expected to be affected but not as drastically.
As @Dogekidd2012 mentioned, the Selection Highlighting beta does come with a meaningful rendering efficiency improvement, which should help with the testing case mentioned above to some degree.
We do recognize interactions with a large number of selections is a pain point for developers. Even if these issues haven’t been completely resolved with the update, we will continue working to make Studio a better experience.
I’ve been using the beta when I first wrote all those points down.
Right now ive tried comparing relatively quickly the differences between having the beta enabled and disabled, and this is what ive got: (BTW all values are from selecting a single folder that holds the specified amounts of parts below in the same baseplate)
3.5~ FPS with 100k parts with the beta disabled
23~ FPS with 10k parts with the beta disabled
120+~ FPS with 1k parts with the beta disabled
3.8-4.2~ FPS with 100k parts with the beta enabled
32~ FPS with 10k parts with the beta enabled
130+~ FPS with 1k parts with the beta enabled
I appreciate this rendering optimization however it looks like its differences are not exactly that meaningful on both far end sides of the spectrums. It mainly offers a noticeable differences right in the middle (and i think that’s better than only having effects on the far ends) however at the end of the day it’s kinda still not a very large improvement especially considering that all it does (at least from what i’ve seen) is just remove the physical bounding boxes from large part selections.
Thank you roblox, your really pushing out loads of QOL updates at the moment and they are very much appreciated!
May I ask, Does this update make Grouping/Ungrouping models faster? They have always been extremely slow!