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

Experiments on frame pacing in Android #674

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

DJMcNab
Copy link
Member

@DJMcNab DJMcNab commented Aug 28, 2024

This is PR has two things:

  1. The proof of concept integration into with_winit of hal: cargo feature to allow using VK_GOOGLE_display_timing unsafely gfx-rs/wgpu#6149
  2. The start of a frame pacing library using this integration. This is targeted only at Android to reduce scope/risk, but similar ideas will ultimately need to be implemented for other backends. The current state of this library is as a set of ideas, with no actual implementation work.

See #gpu > Latency Investigation

examples/scenes/src/images.rs Outdated Show resolved Hide resolved
@@ -701,6 +770,8 @@ fn run(
let debug = vello::DebugLayers::none();

let mut app = VelloApp {
present_id: 0,
google_display_timing_ext_devices: vec![None; renderers.len()],
Copy link
Contributor

Choose a reason for hiding this comment

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

Should keep the same order as the declaration and put them in the opposite order under renderers ?

std::thread::spawn(|| self.run());
}

/// Run a rendering task until presentation. Useful on macOS for resizing.
Copy link
Contributor

Choose a reason for hiding this comment

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

Mads has been doing new work on macOS with respect to resizing!

Use my branch of `wgpu`
Also start sketching out the frame pacing library
Save some more thoughts

Continue sketch of pacing
More writings/logic
Some initial resizing logic
Continued resource management
Get the past presentation timing information

Merge branch 'achoreographer' into android-pacing
Start sketching the fully choreographed version.

Allow negative timestamp
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