Implement SP #293 quad line drawing #2707
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on daid/SeriousProton#292 and #2706.
Define line widths for the new SeriousProton quad drawLine implementation in daid/SeriousProton#293.
This affects:
Quad line thicknesses are generally 1 pixel, with the exception of:
SP 293 also scales the number of points used to draw circles to the circle's pixel size. Circles, especially large circles like radar outlines at high resolutions, should now be consistently drawn with no visible corners, especially when FSAA is enabled.
In testing on a low-end Intel N100 mini PC on Win11 at 4k, FPS on Helms, Weapons, and Science remains 58-60 with no change in render times recorded.
On a Pi 400, the new line drawing method drops FPS on Science by about 10-15% (4-6 fps), from low 40s to mid 30s. I couldn't find a significant difference on Helms, Weapons, or Relay, which don't have signal bands and draw fewer or no circles other than the radar outline.
This new drawing method has the Preferences File option
line_drawing_mode, with valid valuesglandquad. This option is configurable in the Options menu under the Graphics tab.glis the default, which should retain existing behaviors.Low-quality lines, FSAA off:
Low-quality lines, FSAA 8x, 1080p:
High-quality lines, FSAA off:
High-quality lines, FSAA 8x, 1080p: