Summary: | periodic freezes (due to invisible background fetch of feeds?) | ||
---|---|---|---|
Product: | [Applications] akregator | Reporter: | kris |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
kris
2005-02-23 21:48:18 UTC
I have the same experience with akregator 1.0.1 (KDE 3.3.2). A "Me Too" here (Akregator 1.0 on kde 3.4 on FreeBSD 5-STABLE) It is especially bad when the "All feeds"-folder is open and Akregator is fetching new feeds. Bangs the CPU to the roof, Akregator is unresponsive. And this goes on for several minutes. Same here on KDE 3.4.0, Akgregator 1.0, Linux 2.6.11. *** This bug has been confirmed by popular vote. *** When "All feeds" (or any folder with many subfeeds) is selected and the interval fetch starts, every feed fetched causes an update of the articlelist. Considering that even a single update can take a lot of time when the list contains many articles, Akregator goes totally bonkers when there are twenty updates in a row. We need some mechanism to prevent these complete updates. Either by stopping the ongoing update when a new update request arrives (only possible with threads i think), or by delaying updates, so that multiple requests result in only one update. But well, both methods make it harder to keep data and views in sync, so we would have a lot of potential bugs here... The article list needs optimization in general. The problem is, the optimization made for KDE 3.x is obsolete when migrating to KDE4, as the list view classes are completely different in Qt4. SVN commit 423578 by osterfeld: Let's break everything: Instead of using one signal "signalChanged" to notify all updates, it's now splitted into signalChanged (actual node updates like title, unread count, icon...) and signalArticleAdded/Updated/Removed to notify changes in the article list. This more fine-grained notification avoids complete updates of the ArticleListView just because some articles were added, removed or updated. So it's possible to select "All Feeds" now without freezing Akregator. BUG: 100119 M +5 -5 article.cpp M +76 -14 articlelistview.cpp M +9 -1 articlelistview.h M +26 -2 articleviewer.cpp M +6 -0 articleviewer.h M +36 -41 feed.cpp M +3 -4 feed.h M +0 -5 feedlist.cpp M +0 -8 feedlist.h M +30 -20 folder.cpp M +1 -1 folder.h M +26 -10 treenode.cpp M +25 -15 treenode.h |