-
Notifications
You must be signed in to change notification settings - Fork 98
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
App is very slow with many tasks #27
Comments
This is a problem with Angular and I am not sure, if or how we can solve this. Maybe it is getting better with Angular2 but I am very unsure about this. |
same problem here, It is getting really painful. I might have a look at the source to see if at least I can disable whatever JS is doing while I type. I do not understand why having many tasks affects the text box. I do not want any JS processing on the textbox as I type. Before I spend my time diving in... does anybody know the reason behind this? what processing is being done? |
We might be able to solve this by switching to Vue.js. |
that would be great. It is borderline unusable. Just out of curiosity, what is the reason that it runs javascript as I type? any quick hack to disable it for the time being? edit: btw, congrats for the app. It's awesome and I can't live without it |
Bump Please, I would like to attract attention to this. It makes the whole app borderline unusable for serious usage (many tasks). IMHO everything else can wait, because the basics don't work well. Repeating tasks and all the rest looks good but if you can't have a bunch of tasks... what is the point? Please, prioritize this. Thank you |
What is "a bunch of" tasks? About how many tasks do we talk (subtasks count as separate task)? |
hi, thanks for paying attention to this It has been gradually deteriorating, to the point that now I type the task, and wait 10 seconds for the text to appear. At this point I have 105 open tasks and 435 completed tasks. I now always delete instead of marking them as complete because I fear that will make things worse. Also, there is no simple way of cleaning up completed tasks ( I think there is a feature request with this ). Like I said, it does not even let me type. I don't even understand what is the point of the per key hit javascript processing that involves iterating all other tasks. Thanks again edit: I guess I could try to delete them from the database, but still the app is broken IMHO |
Also, I would like to mention that I have 6 'calendars' or 'task lists'. I don't think that affects though |
Completed tasks are not loaded after a page reload by default. They will only be loaded if you click on "Load remaining completed tasks" below the task list (or if you open their parent task). So, completed tasks are only on the server, but not in the app. This is already for performance reasons and deleting instead of completing tasks will not improve performance. In case completed tasks are loaded for you, please file an issue. I currently have 40 tasks in the app and it runs smoothly. There is no lag when typing into the task input bar and the task appears quasi immediately when I hit enter. Now, 40 is not 100, but I still wonder why it is so bad for you?! Edit: Hm, I loaded 200 completed tasks and typing now has a lag. |
They are not, thanks for the info
Probably because firefox without e10s enabled : S Still, does not make sense to me that there is any JS processing while you type... what is it for? I tried to do some basic debugging some time ago, and I found the breakpoint for the code flow when it triggers, but IIRC it was only testing for the escape code, so it didn't look like it was doing much processing. There's obviously something, I just didn't see it in my quick investigation
Edit: great, first step... able to reproduce! |
Well I'm using Chrome and it's the same for me (around 150 tasks). |
"good" to know (not really). You know FF uniprocess normally less performant in the javascript engine, so I assume it will be more noticeable in FF ;) @raimund-schluessler let me know how I can help |
The task input is to be found here: We do check every keystroke, because we want to react on the user pressing escape, but this should not become worse with multiple tasks. You can check though, if it helps to remove I assume the problem is |
Yeah, that's what I saw
That's what I thought... maybe there's some hidden magic in the angular component? I did try removing eventhandlers and things, but didn't work for me. Not that I tried hard to understand the code. I just tried again, removing the This happens to me on all the text boxes: the main one to add a new task, the one to rename an existing task (it changes as you type in the list as well), and in the notes for an existing task |
They all have
|
I tried removing both |
Hi, Any plans to work on this? It really makes heavy usage impossible |
my firefox just showed me the "script is probably damaged" warning as it took too long typing :-D
when I put a halt point there in the getAllSubComponents function of ical.js it halts a lot, with every task arriving 4 times as an object in comps then I realized it's being called from get completed (app.js and that is being called from ok, one step up, it's being called from app.js:802 well, it takes some time, but why is it even being called when all the lists seem ready? does that help in any way? |
Here, the app is also slow with only a handful of tasks (8-10). Especially adding a new task is painful, as there is a delay for every keystroke. Reloading the page helps, though. |
I am also experiencing a slowdown with many tasks. I have about 170 active tasks with probably around 1000 completed tasks. I'm using Firefox on Arch Linux. |
Fixed with #194. |
I like the tasks app and so I have around 200 tasks. At this number the browser is stuck for several seconds in javascript hell when loading the tasks. Adding/Editing a task is also painful, every letter appears several seconds after typing. To look up tasks in a mobile device is completely impossible.
Are there any plans to improve the scalability?
The text was updated successfully, but these errors were encountered: