Skip to content
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

[Bug] AutoWidget makes Kodi very laggy (due to fs task queue) #131

Open
Hawkedon opened this issue May 26, 2022 · 3 comments
Open

[Bug] AutoWidget makes Kodi very laggy (due to fs task queue) #131

Hawkedon opened this issue May 26, 2022 · 3 comments
Labels
bug Something isn't working

Comments

@Hawkedon
Copy link

Hi @drinfernoo,

After using AutoWidget, I found Kodi UI is very laggy, and I have only 1 widget from AutoWidget. I understand during refresh, it may be laggy, but don't understand why it's laggy all the time. So I did a profiling for the addon and got the following:

From the log we can see, the next_cache_queue method was invoked for each second! Is that really necessary? especially during the idle time (not refreshing time) of the addon? I kind of think this is a programming error.

2022-05-26 01:41:19.019 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:19.019 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:19.020 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:20.021 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:20.021 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:20.022 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:20.022 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:20.022 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:20.022 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:20.023 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:20.023 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:20.023 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:20.023 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:21.023 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:21.023 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:21.026 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:22.027 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:22.027 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:22.028 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:22.028 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:22.028 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:22.028 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:22.028 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:22.029 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:22.029 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:22.029 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:23.029 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:23.029 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:23.032 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:24.033 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:24.033 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:24.034 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:24.034 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:24.034 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:24.034 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:24.035 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:24.035 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:24.035 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:24.035 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:25.035 T:12116 DEBUG : Auto Widget: Called next_cache_queue
2022-05-26 01:41:25.036 T:12116 DEBUG : Auto Widget: Called iter_queue
2022-05-26 01:41:25.036 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:25.036 T:12116 DEBUG : Auto Widget: Argument .0 is <list_iterator object at 0x0000029B862AE1C0>
2022-05-26 01:41:25.037 T:12116 DEBUG : Auto Widget: Called tick
2022-05-26 01:41:25.037 T:12116 DEBUG : Auto Widget: Argument self is <resources.lib.refresh.RefreshService object at 0x0000029B85F894A0>
2022-05-26 01:41:25.037 T:12116 DEBUG : Auto Widget: Argument step is 1
2022-05-26 01:41:25.037 T:12116 DEBUG : Auto Widget: Argument max is 900
2022-05-26 01:41:25.037 T:12116 DEBUG : Auto Widget: Argument abort_check is <function RefreshService. at 0x0000029B86CA8C10>
2022-05-26 01:41:25.037 T:12116 DEBUG : Auto Widget: Called
2022-05-26 01:41:26.038 T:12116 DEBUG : Auto Widget: Called next_cache_queue

@Hawkedon Hawkedon added the bug Something isn't working label May 26, 2022
@djay
Copy link
Collaborator

djay commented May 26, 2022

yeah it should be changed to use watchdog

@djay
Copy link
Collaborator

djay commented May 27, 2022

actually replacing the queue files with a notifyAll call is a much better idea now I know it exists.

@djay djay changed the title [Bug] AutoWidget makes Kodi very laggy [Bug] AutoWidget makes Kodi very laggy (due to fs task queue) Jun 13, 2022
@drinfernoo
Copy link
Owner

@Hawkedon Can you try the 3.7.0 release? This should be fixed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants