I absolutely love everything about Obsidian, except the display performance. Even on a brand new Mac Studio M4 Max with maximum cores, Obsidian’s scroll will stutter. With nothing but text. This is frankly ridiculous with today’s computing power.
Safari’s scroll is buttery smooth even on super complicated web pages. My Commodore 64 from the 80s has no problems scrolling a screen full of text, images and animations rock solid 50 fps. (That’s the old PAL refresh rate.)
I don’t know how much of this problem is Electron’s fault, but would it be possible to do something about this please?
SYSTEM INFO:
Obsidian version: v1.8.10
Installer version: v1.8.9
Operating system: Darwin Kernel Version 24.2.0: Fri Dec 6 18:51:28 PST 2024; root:xnu-11215.61.5~2/RELEASE_ARM64_T8112 24.2.0
Login status: not logged in
Language: en
Insider build toggle: off
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: off
Plugins installed: 0
Plugins enabled: 0
RECOMMENDATIONS:
none
Hardware Overview:
Model Name: MacBook Air
Model Identifier: Mac14,2
Model Number: MLY33KS/A
Chip: Apple M2
Total Number of Cores: 8 (4 performance and 4 efficiency)
Memory: 8 GB
System Firmware Version: 11881.61.3
OS Loader Version: 11881.61.3
Oh, I forgot to mention I’m specifically talking about the “inertia scroll” with Apple trackpad or Magic Mouse.
Let me elaborate a bit: I don’t mean super jerky scrolling. The problem is that Obsidian has never scrolled 100% smoothly, but smooth-ish. It can often scroll something like 1-3 pages worth of text smoothly, and then it stutters again. It is not a huge stutter, but it is there.
I currently have Obsidian running on four Macs and all scroll in identical fashion. (One M4 Max, one M3 Max and two Intels.) So I’m pretty sure the problem is not my setup. I see no CPU/GPU spikes either.
I may be more sensitive to screen refresh because I work in the game industry, but the difference to 100% smooth scrolling as in Safari and for example Sublime Text is noticeable.
VS Code also has similar “smooth-ish” scrolling, so I suspect this has something to do with Electron. Hopefully this doesn’t mean that nothing can be done about it without a total renderer rewrite…
Can you share a sample .md file(s) (with no private info) where you see this happening?
My understanding is that with a long document, parts of it will begin to unload and load when scrolling for performance reasons. I can sometimes notice a stutter in Live Preview, especially on mobile, in a longer notes with many embeds, callouts, etc.
I haven’t tried AnuPpuccin since it first came out a few years ago. It hasn’t been updated in a while, and according to Discord chatter, it’s one of the slower themes at the moment.
If you switch to the default (or another theme), do you see any difference?
Here’s a short clip I captured from my office M3 Max MBP with 16/40 cores, in 60 fps:
(Let me know if the Dropbox link doesn’t work.)
As you can (hopefully see, there’s stuttering in the beginning, and then at about halfway through the clip it smooths out.
It seems that Obsidian does some kind of lazy-loading to memory? When you first scroll a document, there’s more stuttering. After scrolling it through once or twice, it may smooth out. But not always, depends on the complexity of the content I presume (but am not sure). It feels to me that Obsidian is really quick to empty the memory (or whatever is happening), so if you switch to another tab or another app or just don’t scroll for a while, it stutters more again… (Maybe. This is really hard to pinpoint precisely.)
When recording this video clip, I actually was recording for a longer time. In the beginning it stuttered more and then it smoothed out. Then I paused for a while and started scrolling again. This is where the clip starts. The stuttering was back after that pause. Now when I go back to Obsidian and scroll the same file, the stuttering is back. Scrolling it a couple of times back and forth smooths it out. I have to add that this is not consistent, but mostly seems to perhaps be the way it behaves…
Maybe this also has to do with how much pressure on your memory all the currently open apps are creating? If there’s lots of free memory, maybe Obsidian can keep more page content in memory and therefore scroll smoother? (I have 48 gigs of combined RAM though, so it should be plenty for scrolling some text
Unrendered, version 2 https://www.dropbox.com/scl/fi/jyasm3o38exo0ww7fc6qs/Scroll.mov?rlkey=t1kytisu2d1ly7ta2kq7dtjg0&e=1&dl=0
I think I cannot reproduce your problem. My scrolling doesn’t stutter so badly. Have you tested on M2 machine? My resolution is 2560 × 1664, maybe at higher resolutions you may have performance issues.