Skip to content

Created FramPacingLogger.java for debugging#1631

Draft
Catpotatos wants to merge 1 commit into
utkarshdalal:masterfrom
Catpotatos:Frame-rate-Log-report
Draft

Created FramPacingLogger.java for debugging#1631
Catpotatos wants to merge 1 commit into
utkarshdalal:masterfrom
Catpotatos:Frame-rate-Log-report

Conversation

@Catpotatos

@Catpotatos Catpotatos commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Description

Created FramPacingLogger.java for debugging

Added frame logging every 10sec that can be enabled by using GN_FRAME_LOG = 1 for debug purposes in container settings

Anchored the logger into every frame-producing, frame-pacing, and frame-limiting path. All edits outside FramePacingLogger.java are purely additive logging anchors

The frame report will show how frames are getting output and which rendering path is being used

Recording

Captura de ecrã 2026-06-28 155057

Type of Change

  • Bug fix
  • Performance / stability improvement
  • Compatibility improvements
  • Other (requires prior approval)

Checklist

  • If I have access to #code-changes, I have discussed this change there and it has been green-lighted. If I do not have access, I have still provided clear context in this PR. If I skip both, I accept that this change may face delays in review, may not be reviewed at all, or may be closed.
  • This change aligns with the current project scope (core functionality, stability, or performance). If not, it has been explicitly approved beforehand.
  • I have attached a recording of the change.
  • I have read and agree to the contribution guidelines in CONTRIBUTING.md.

Summary by cubic

Adds a new frame pacing diagnostics logger that reports frame sources, limits, and on-screen FPS every 10s to logcat. This helps debug judder and understand which rendering path is active; opt-in via GN_FRAME_LOG=1.

  • New Features

    • Added com.winlator.renderer.FramePacingLogger with a 10s report (tag: "FramePacing", 10s initial delay).
    • Anchors added in PresentExtension, VulkanRenderer, GLRenderer, ASurfaceRenderer, VortekRendererComponent, FrameRating, and XServerScreen (purely additive).
    • Reports include per-path counts (X Present scanout/copy, Vulkan scanout/AHB/pixels, SurfaceFlinger GPU/CPU, GL draws), skipped frames, on-screen FPS (HUD), display Hz vs present rate, active limiters (QuickMenu, PresentExtension, SurfaceControl hint), and launch-time env vars (DXVK/VKD3D/MangoHUD) plus wrapper/driver versions.
  • Migration

    • Set GN_FRAME_LOG=1 in the container’s Environment Variables and launch a game.
    • View logs via logcat filter "FramePacing".
    • Logger mirrors QuickMenu FPS limiter changes and auto-resets/disables on session end.

Written for commit 7c39b3d. Summary will update on new commits.

Review in cubic

Added frame logging every 10sec that can be enabled by using GN_FRAME_LOG = 1 for debug purposes in container settings

Anchored the logger into every frame-producing, frame-pacing, and frame-limiting path. All edits outside FramePacingLogger.java are purely additive logging anchors

The frame report will show how frames are getting output and which rendering path is being used
@coderabbitai

coderabbitai Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2b60a53a-e2f4-4e2f-b49e-8801d2027515

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Catpotatos

Copy link
Copy Markdown
Contributor Author

I'll wait for the FSR changes to be fully out so that I can reanchor to upstream.

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.

1 participant