Skip to content

Quality presets and recommended preset #1158

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

ariesninjadev
Copy link

This PR adds quality presets to the graphics settings modal, and allows Synthesis to automatically select the low (or "fast") graphics preset based on certain parameters including whether the device is a mobile device, or the specs are low. Check the Recommended Settings section for help on testing the recommended settings functionality.


Presets

Fast Graphics (Low)
image

Balanced Graphics (Medium)
image

Fancy Graphics (High)
image

If any options are changed, the preset is automatically set to "Custom":
image


Recommended Settings

The recommended settings are only applied to a device once. We then save whether or not this optimization has been applied in localstorage. To tell the browser that we haven't run the optimization yet, run the following in dev tools:

let p=JSON.parse(localStorage.getItem("Preferences"));p.GraphicsOptimizationApplied=!1;localStorage.setItem("Preferences",JSON.stringify(p));

Then, you can emulate mobile device headers by using device mode in dev tools:
image

Finally, reload the page.

@ariesninjadev ariesninjadev self-assigned this Jun 24, 2025
@ariesninjadev ariesninjadev requested review from HunterBarclay and a team as code owners June 24, 2025 18:13
@ariesninjadev ariesninjadev changed the base branch from prod to dev June 24, 2025 18:14
@ariesninjadev ariesninjadev requested a review from a team as a code owner June 24, 2025 18:14
@ariesninjadev ariesninjadev requested a review from PepperLola June 24, 2025 18:14
@BrandonPacewic BrandonPacewic added the rendering Relating to the rendering engine or how something is rendered label Jun 24, 2025
Copy link
Member

@BrandonPacewic BrandonPacewic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running into a few issues related to the checkboxes for both fancy shadows and anti-aliasing. It seems that they don't always apply the visual changes related to the option being selected/deselected.

Also running into some weird things with the browser refresh being forced when the state of anti-aliasing has not been changed. Not 100% sure if its related to this pr or not.

@ariesninjadev
Copy link
Author

ariesninjadev commented Jun 24, 2025

Running into a few issues related to the checkboxes for both fancy shadows and anti-aliasing. It seems that they don't always apply the visual changes related to the option being selected/deselected.

Also running into some weird things with the browser refresh being forced when the state of anti-aliasing has not been changed. Not 100% sure if its related to this pr or not.

I can't seem to figure out how to directly toggle a checkbox in-code; do you have any insight on this?

AntiA being double toggled and force reloading is a result of @Dhruv-0-Arora's PR.

@BrandonPacewic
Copy link
Member

I can't seem to figure out how to directly toggle a checkbox in-code; do you have any insight on this?

AntiA being double toggled and force reloading is a result of @Dhruv-0-Arora's PR.

It seems like both of these issues are being caused by the state of the checkbox sometimes not matching the state of the setting when the preset gets applied. See if you can find a way to update the display state of the checkboxes when applying the presets. If it does not appear reasonable, we can wait to make this change till after the UI refactor is done.

@ariesninjadev
Copy link
Author

I can't seem to figure out how to directly toggle a checkbox in-code; do you have any insight on this?
AntiA being double toggled and force reloading is a result of @Dhruv-0-Arora's PR.

It seems like both of these issues are being caused by the state of the checkbox sometimes not matching the state of the setting when the preset gets applied. See if you can find a way to update the display state of the checkboxes when applying the presets. If it does not appear reasonable, we can wait to make this change till after the UI refactor is done.

Let's fix checkboxes after refactor :D

@Dhruv-0-Arora
Copy link
Collaborator

the state of the checkbox sometimes not matching the state of the setting when the preset gets applied. See if you can find a way to update the display state of the checkboxes when applying the presets. If it does not appear reasonable, we can wait to make this change till after the UI ref

For AntiA, there are two different anti-alias settings that are being set and in order to actually change these settings, there are some weird re-render things you need to do

Copy link
Collaborator

@Dhruv-0-Arora Dhruv-0-Arora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depends on UI Refactor

@Dhruv-0-Arora Dhruv-0-Arora marked this pull request as draft June 26, 2025 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rendering Relating to the rendering engine or how something is rendered
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants