I’ve noticed that this error occurs mainly when you’re working with a larger .md file with many references to images and indentations.
Expected result
For the app to work equally as functional with large and compact file sizes alike. For the linked scroll (when working with ) to sync and function properly.
Actual result
The fist things that happen are that after a while of having the obsidian app running, things eventually become pretty slow (not in video).
Another observed side effect of working on .md files (with what I seem to think is many image references) is that the the scrolling becomes wonky. Every time I type text, the screen glitches out and I lose the place where I was initially typing.
If this explanation isn’t making any sense, please check the link to the footage in the additional information section.
Environment
Operating system: Windows 10 Home
Obsidian version: 0.7.3
Using CSS
Additional information
this is the link to the video footage described above.
This seems to be caused by the heavy use of lists (the whole file is a single list).
Summary: using markdown list, the app is unable to “break apart” the different parts of the document to be reused, which causes a full re-render of the list block (which is in your case the whole document).
Normally, when you use proper headings and markdown blocks (generally anything separated by a completely empty line in between), the app can recognize each block, and only re-render unchanged blocks.
It fails to do so with large blocks, such as if you write a really long paragraph, or in this case, the use of a continued list. This means embeds such as images, latex, code blocks, will need to be re-rendered every time, which is causing the performance issue here.
For now, I would suggest using proper markdown headings so parts of the document can be recognized as unchanged.
In the future, I will add some extra optimizations to attempt to reuse more things like embeds. This should hopefully solve most of the issue for this use case.
Nice to hear the feedback. The reason I use the mentioned list format is because I want my files to be future proof for when Header Folding becomes available in preview mode. I like to view only certain blocks at a time and keep everything under a list to do so.