Flash of unstyled content when scrolling, navigating in 'source mode'

Obsidian doesn’t fully render a note’s elements before they move into the visible area (viewport). The result is a flash of unstyled content.

This happens when I:

  • Scroll down in a note.
  • Navigate back or forward, if this makes Obsidian jump to somewhere in the note. (Content at the top is always rendered fully. Content further down not, and that’s where the unstyled flash appears.)
  • Click on a search result, when this makes Obsidian jump to somewhere in the note.

The more content that isn’t a plain-text paragraph, the worse the flash of unstyled content is. (Because Obsidian has more to render.)

Steps to reproduce

  1. Press F1 and open the ‘Sandbox vault’.
  2. Open the settings. Change the default editing mode to ‘source mode’ (rather than ‘live preview’).
  3. Copy the content of the ‘Start here’ note and paste it below itself. This to make the note’s content longer. (The issue is more apparent with longer notes.)
  4. Navigate to any other note.
  5. Go back to the ‘Start here’ note. From the top of that note, scroll down.
  6. In the lower part of the viewport, there are flashes of unstyled content. Elements affected for the ‘Start here’ note are:
    • Headings
    • Blockquotes
    • Links

A video recording of the steps is here: video.

(The video shows shows a milder effect than I experience in real life. I couldn’t get the video to record with a high-enough FPS.)

Expected result

I expect Obsidian to style the note’s elements completely before they move into the visible area.

I understand this delayed rendering is done for performance. But it’s a bit too aggressive. It, ironically, makes Obsidian feel slower and laggy.

It can also cause content jumps right after navigating, when content goes from unstyled to styled.

Actual result

(See description above.)

Environment

Obsidian version: v0.15.2
Installer version: v0.13.31
Operating system: Windows 10 Home 10.0.19044
Login status: logged in
Catalyst license: supporter
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: none
Snippets enabled: 0
Safe mode: on
Commercial license: yes
Computer: Intel i5-10400 CPU (6 cores, 12 threads) @ 2.9Ghz with 24GB DDR4 (2666Mhz) RAM and a 500GB SSD (2200MB/s read, 2000MB/s write) drive.

I can’t reproduce this and I have similar hardware.

I can reproduce this in both LP and source mode if I artificially slowdown the CPU 4x. I don’t consider this a bug per se as these are actually performance optimizations.

Look if there is something that is slowing you computer down severely. Maybe you are running in energy save mode or something.

Maybe download and reinstall obsidian too, see if it helps.

1 Like

Thank you for the reply and looking into it.


I did a clean uninstall (with ‘geek uninstaller’) and then reinstalled with 14.15. That didn’t help.

It also happens with:

  • Obsidian version: v0.14.15 (Installer version: v0.14.15)
  • Obsidian version: v0.15.3 (Installer version: v0.14.15)

My desktop PC doesn’t use much energy saving features, but with everything turned off, the issue is also present.

When I disable Obsidian’s ‘Hardware acceleration’ feature, the issue happens to the same extent. Obsidian using the full hardware or not doesn’t impact it.

I don’t believe it’s hardware related. When I scroll through a note and the problem appears, the computer’s entire CPU is 2-3%:

(I couldn’t make a clean video as this increases the CPU.)


I agree with this. The problem isn’t the ‘just in time’ styling. I can see how that helps with performance.

But if Obsidian can style elements 250 pixels before they move into the viewport, the issue is probably gone due to that ‘styling buffer’.

Ok, open a feature request for that. Thanks!

EDIT, actually I’ll create it myself.