Skip to content

Hide all exhibits except the current one to improve performance#143

Merged
m4ym4y merged 1 commit into
m4ym4y:mainfrom
dsnopek:quest-store-hide-exhibits
Jan 7, 2026
Merged

Hide all exhibits except the current one to improve performance#143
m4ym4y merged 1 commit into
m4ym4y:mainfrom
dsnopek:quest-store-hide-exhibits

Conversation

@dsnopek

@dsnopek dsnopek commented Nov 3, 2025

Copy link
Copy Markdown
Contributor

In order to improve rendering performance, this PR will hide all exhibits (including the lobby) that the user isn't presently in.

It works by having a GridMap as part of each GridWrapper.gd instance, rather than using only the single GridMap that's part of the Lobby. And, then it uses a GridManager.gd autoload to keep track of all the cells on all GridMaps, so that they can't accidentally overlap in exhibit generation.

For the GridManager.gd, I had originally thought that I'd need to group the cells into octants in order to be performant enough, but in my testing, just keeping all the cells on the same Dictionary seems to work fine! If we ever have issues later, we can switch to octants

This dramatically improves performance on the Meta Quest, but should help on all platforms

@m4ym4y m4ym4y merged commit 740fa44 into m4ym4y:main Jan 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants