Quality presets and recommended preset - #1158
Conversation
BrandonPacewic
left a comment
There was a problem hiding this comment.
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. |
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 |
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 |
Dhruv-0-Arora
left a comment
There was a problem hiding this comment.
Depends on UI Refactor
| applyInitialGraphicsSettings() | ||
|
|
There was a problem hiding this comment.
not a huge fan of calling a function from a Panel in Synthesis.tsx. If anything, this function should be in a helper .ts file, not .tsx
| setAntiAliasing(checked) | ||
| setReload(true) | ||
| updatePresetFromSettings(lightIntensity, fancyShadows, maxFar, cascades, shadowMapSize, checked) | ||
| globalAddToast?.("info", "Refresh Required", "Please refresh the page to see the anti-aliasing changes.") |
There was a problem hiding this comment.
This was fixed in one of Zach's PRs right
| globalAddToast?.("info", "Refresh Required", "Please refresh the page to see the anti-aliasing changes.") | |
| globalAddToast.("info", "Refresh Required", "Please refresh the page to see the anti-aliasing changes.") |
There was a problem hiding this comment.
Assuming you mean
| globalAddToast?.("info", "Refresh Required", "Please refresh the page to see the anti-aliasing changes.") | |
| globalAddToast("info", "Refresh Required", "Please refresh the page to see the anti-aliasing changes.") |
Can you link the PR you are mentioning?
There was a problem hiding this comment.
This would probably all be better off in Scenerenderer to apply the initial settings
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)

Balanced Graphics (Medium)

Fancy Graphics (High)

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

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:
Then, you can emulate mobile device headers by using device mode in dev tools:

Finally, reload the page.