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

Performance worsens are more pages are navigated in the same session #1748

Open
Reeceeboii opened this issue Feb 2, 2025 · 4 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@Reeceeboii
Copy link

Describe the bug
As a single session on the site grows in length and more separate pages are navigated to, performance tanks, GPU usage increases and all interactions like clicking other links and scrolling become incredibly laggy (Chromium only). On Firefox, the scrolling remains stable, but the graph view becomes laggy and page navigation also slows, as on Chromium, but to almost unusable levels.

A screenshot from a performance profile I captured (unsure of a suitable method to share this whole file as it is quite large) can be seen below in the screenshots section.

As performance worsens, multiple of the following error are also appearing in the console, originating from postscript.js:

Uncaught (in promise) OperationError: Failed to execute 'requestDevice' on 'GPUAdapter': D3D12 create command queue failed with E_OUTOFMEMORY (0x8007000E)
    at CheckHRESULTImpl (..\..\third_party\dawn\src\dawn\native\d3d\D3DError.cpp:119)
    at CheckHRESULTImpl (..\..\third_party\dawn\src\dawn\native\d3d\D3DError.cpp:119)

postscript.js:1093

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://quartz.jzhao.xyz/
  2. Click around the site, visit 15/20/30 wikilinks in succession. Scroll around.
  3. Performance will worsen, will GPU usage will increase.

Expected behavior
Performance stays stable.

Screenshots and Source
Image

Image

Desktop (please complete the following information):

  • AMD Ryzen 9 3950x 16c32t
  • RTX 4090
  • 64GB DDR4 3200 MHz
  • Quartz Version: 4.4.0
  • node Version: 22.13.0
  • npm version: 10.9.2
  • OS: Windows (also tried in a VM to rule out my specific software setup).
  • Browser: Chrome, Edge (so likely all Chromium-based browsers), Firefox, potentially others.

Additional context
As it may seem GPU related, my GPU is perfectly functional. I am on Nvidia driver version 566.36.

@Reeceeboii Reeceeboii added the bug Something isn't working label Feb 2, 2025
@Reeceeboii
Copy link
Author

Reeceeboii commented Feb 2, 2025

To add, this seems to be resolved by setting enableSPA: false in quartz.config.ts, though this is hardly an ideal workaround.

@RainAfterDark
Copy link

Bumping this to say it is straight up unusable on mobile, it only takes navigating through a couple of links to make Chrome unresponsive (mine is just running on a Snapdragon 685, but performance shouldn't be this bad for a static site). Same issue with a personal instance with just a handful of notes. Disabling SPA does resolve it as mentioned, but given that it was the biggest appeal for Quartz for me it is a bit of a letdown that I have to disable it just to make my site usable.

@aarnphm
Copy link
Collaborator

aarnphm commented Feb 17, 2025

iirc there is a known memory leak somewhere, but we haven't had the bandwidth to do a full profile yet

@saberzero1
Copy link
Collaborator

iirc there is a known memory leak somewhere, but we haven't had the bandwidth to do a full profile yet

Possible culprit: eventListeners.

#1787 (comment)

I'll investigate later today.

@saberzero1 saberzero1 self-assigned this Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants