[mythtv] [mythtv-commits] mythtv commit: r22239 - in trunk/mythtv by cpinkham
Kevin Kuphal
kkuphal at gmail.com
Mon Oct 5 13:59:58 UTC 2009
Guys, I just want to say a quick thank you. I think this goes a long way to
making 0.22 a much more complete release. I know from your talk in IRC that
you spent a great deal of time discussing and implementing this and I wanted
to know your efforts are greatly appreciated.
Kevin
On Sun, Oct 4, 2009 at 3:09 PM, <mythtv at cvs.mythtv.org> wrote:
> Author: cpinkham
> Date: 2009-10-04 20:09:51 +0000 (Sun, 04 Oct 2009)
> New Revision: 22239
> Changeset: http://cvs.mythtv.org/trac/changeset/22239
>
> Modified:
>
> trunk/mythtv/libs/libmythdb/mythversion.h
> trunk/mythtv/libs/libmythui/mythpainter_ogl.cpp
> trunk/mythtv/libs/libmythui/mythpainter_ogl.h
> trunk/mythtv/libs/libmythui/mythpainter_vdpau.cpp
> trunk/mythtv/libs/libmythui/mythuihelper.cpp
> trunk/mythtv/libs/libmythui/mythuihelper.h
> trunk/mythtv/libs/libmythui/mythuiimage.cpp
> trunk/mythtv/libs/libmythui/mythuiimage.h
> trunk/mythtv/programs/mythfrontend/playbackbox.cpp
> trunk/mythtv/programs/mythfrontend/playbackbox.h
>
> Log:
>
> This commit converts libmythui's MythUIImage to load uncached images in a
> separate thread so that the UI is not blocked by image loads. As a
> side-effect, this clears up and should prevent any issues with images
> Load()-ed outside of the main UI thread.
>
> Specific changes included in this commit are:
>
> - libs/libmythui/mythpainter_vdpau.cpp
>
> Supporting changes for the MythUIImage threading. Implemented a delete
> surface list that can be populated from any thread and is processed by
> the main UI thread since this requires VDPAU methods.
>
> - libs/libmythui/mythpainter_ogl.h
> - libs/libmythui/mythpainter_ogl.cpp
>
> Supporting changes for the MythUIImage threading. Implemented a delete
> texture list that can be populated from any thread and is processed by
> the main UI thread since this requires glDeleteTexture.
>
> - libs/libmythui/mythuihelper.h
> - libs/libmythui/mythuihelper.cpp
>
> Supporting changes for the MythUIImage threading. The images are loaded
> in threads controlled by a QThreadPool which resides in MythUIHelper. I
> also added locking around the necessary places that access the in-memory
> image cache since this cache can now be accessed and updated from
> multiple threads. The number of threads is left at the default which is
> QThread::idealThreadCount(). The minimum is 1, the maximum should be the
> number of CPUs (real & logical) in the system.
>
> - libs/libmythui/mythuiimage.cpp
> - libs/libmythui/mythuiimage.h
>
> Split out the loading of uncached images into another thread. The bulk
> of this part of the commit is from a preliminary patch by Stuart Morgan,
> with a bunch of tweaking and changes by me. If an image already exists
> in the in-memory image cache, it is loaded immediately, otherwise we
> put a new QRunnable in the thread pool to be processed.
>
> - programs/mythfrontend/playbackbox.cpp
> - programs/mythfrontend/playbackbox.h
>
> Various cleanup/optimizations to the artwork loading in PlaybackBox (aka
> the Watch Recordings scren) some of which depended on the above patches.
>
> - libs/libmythdb/mythversion.h
>
> Bumped the binary version, so 'make clean'....
>
>
>
>
> _______________________________________________
> mythtv-commits mailing list
> mythtv-commits at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mythtv.org/pipermail/mythtv-dev/attachments/20091005/256d1ef7/attachment.htm>
More information about the mythtv-dev
mailing list