http://bugs.gpodder.org/show_bug.cgi?id=144
Summary: CoverDownloaded slows things down
Product: gPodder
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: low
Component: Application
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
Estimated Hours: 0.0
Created an attachment (id=105)
--> (http://bugs.gpodder.org/attachment.cgi?id=105)
Request covers only when necessary
Covers are downloaded for all channels in gui.py updateComboBox(), which is
called from update_feed_cache_finish_callback(), download_podcast_by_url(),
download_podcast_by_url(), download_podcast_by_url() and other places.
I might be wrong, but it looks like all channel covers are renewed upon almost
every event, like "an episode was downloaded" or when an episode pop-up menu
action was fired.
I think this degrades performance. Even if the covers are not actually
downloaded, this is still a huge amount of work, because (1) there can be lots
of channels, and (2) every call to services.cover_downloader.request_cover() is
a new thread. The latter is especially bad because there's no real threading
in Python.
I think the covers should only be updated when the channel is. I attach a
patch that implements this. There was some related code in channels_to_model()
already -- I uncommented it. I also moved some calls to request_cover() from
gui.py to podcastChannel.update() and added some checks whether the cover
really needs to be downloaded, to avoid excessive threads.
This patch works for me, but please test, conditions may vary.
--
Configure bugmail: http://bugs.gpodder.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
_______________________________________________
gPodder-Bugs mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/gpodder-bugs