[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