Open claremacrae opened 2 years ago
the performance issue for rendering many tasks may be what has already been mentioned.
but it may also be this:
the toLi
function calls the Obsidian API call of MarkdownRenderer.renderMarkdown
.
to render a single task it takes roughly 2ms...
Yes the calling tree will have changed, but here is what I had in July 2022:
I see that, at least when it was first released, Obsidian-Tasks-Calendar did not call MarkdownRenderer.renderMarkdown()
- and it drew tasks massively quicker...
All of which pushes in the opposite direction from the theme ability work being done in Tasks currently.
An Aside:
I have some notes on actions to improve performance, not all of which are in GitHub (at the time, I was the only person working on Tasks, having only just taken it over, and was doing a lot of stuff in parallel....)
Now I am in the happy position that several people are contributing to tasks, which is great. Unfortunately I am still doing a lot of stuff in parallel 🤣
The two biggest improvements in performance are likely to be:
Sorry if this comment looks like I am ignoring your most recent comment, but I have found some info on some slowness here.
I took a trace where I marked a task as done from within the query renderer.
It appears that toLi
is called individually for each task in the list. It actually seems like some low-hanging fruit here to batch up the list render calls to the very slow markdown renderer. I haven't tested but I suspect that batching work and making a single call to the markdown renderer will make things much, much faster.
Oh wow, that sounds really very positive.
Looking forward to when the potential performance improvements mentioned here are implemented, because in certain scenarios with broad queries, Tasks becomes impractical to use.
Edit: Using limit
is a nice workaround in the meantime 👍
Description
A very useful message on Discord
Required Steps
No response
How to Test
No response