Skip to content
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

Revert changes to bevymark and many_cubes window settings #10472

Closed
wants to merge 1 commit into from

Conversation

rparrett
Copy link
Contributor

@rparrett rparrett commented Nov 9, 2023

Objective

I noticed recently that everything in bevymark became tiny, but also the window became larger. I thought maybe I would be bisecting a bug from the "remove black frames" PR, but it turned out to just be an accidental change to the benchmark itself.

These examples were made to be 1080p with a scale_factor of 1.0 in #9903.

This seems like potentially a reasonable thing to do to all of the stress tests, but I believe this was accidental and not discussed anywhere.

Solution

Revert the changes.

Alternatives

Decide on a standard "stress test resolution" with a fixed scale factor and apply it to all of the stress tests.

@superdump
Copy link
Contributor

This was an intentional change. I was switching between an external monitor and internal on an M1 Max and seeing very different results. This wasted a bunch of debugging time until I noticed that it was because the scale factor was different between my 1440p monitor and the retina laptop screen. I don't think we should revert it, rather make it more pervasive in stress tests.

@rparrett
Copy link
Contributor Author

rparrett commented Nov 9, 2023

That's reasonable. I'll do another PR and we can discuss specifics there.

@rparrett rparrett closed this Nov 9, 2023
github-merge-queue bot pushed a commit that referenced this pull request Nov 9, 2023
# Objective

Related to #10472.

Not having a hardcoded scale factor makes comparing results from these
stress tests difficult.

Contributors using high dpi screens may be rendering 4x as many pixels
as others (or more). Stress tests may have different behavior when moved
from one monitor in a dual setup to another. At very high resolutions,
different parts of the engine / hardware are being stressed.

1080p is also a far more common resolution for gaming.

## Solution

Use a consistent 1080p with `scale_factor_override: 1.0` everywhere.

In #9903, this sort of change was added specifically to `bevymark` and
`many_cubes` but it makes sense to do it everywhere.

## Discussion

- Maybe we should have a command line option, environment variable, or
`CI_TESTING_CONFIG` option for 1080p / 1440p / 4k.

- Will these look odd (small text?) when screenshotted and shown in the
example showcase? The aspect ratio is the same, but they will be
downscaled from 1080p instead of ~720p.

- Maybe there are other window properties that should be consistent
across stress tests. e.g. `resizable: false`.

- Should we add a `stress_test_window(title)` helper or something?

- Bevymark (pre-10472) was intentionally 800x600 to match "bunnymark", I
believe. I don't personally think this is very important.
rdrpenguin04 pushed a commit to rdrpenguin04/bevy that referenced this pull request Jan 9, 2024
…ine#10474)

# Objective

Related to bevyengine#10472.

Not having a hardcoded scale factor makes comparing results from these
stress tests difficult.

Contributors using high dpi screens may be rendering 4x as many pixels
as others (or more). Stress tests may have different behavior when moved
from one monitor in a dual setup to another. At very high resolutions,
different parts of the engine / hardware are being stressed.

1080p is also a far more common resolution for gaming.

## Solution

Use a consistent 1080p with `scale_factor_override: 1.0` everywhere.

In bevyengine#9903, this sort of change was added specifically to `bevymark` and
`many_cubes` but it makes sense to do it everywhere.

## Discussion

- Maybe we should have a command line option, environment variable, or
`CI_TESTING_CONFIG` option for 1080p / 1440p / 4k.

- Will these look odd (small text?) when screenshotted and shown in the
example showcase? The aspect ratio is the same, but they will be
downscaled from 1080p instead of ~720p.

- Maybe there are other window properties that should be consistent
across stress tests. e.g. `resizable: false`.

- Should we add a `stress_test_window(title)` helper or something?

- Bevymark (pre-10472) was intentionally 800x600 to match "bunnymark", I
believe. I don't personally think this is very important.
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