skin.setstring slows down render process (1 Viewer)

mbuzina

Retired Team Member
  • Premium Supporter
  • April 11, 2005
    2,839
    726
    Germany
    Home Country
    Germany Germany
    MediaPortal Version: 1.4.0

    Description
    If you have a larger SkinSettings.xml file and/or change several settings at once MP renderthread will be blocked while the SkinSettings.xml file is saved to disk.

    I would expect all Disk I/O needs to be done in a separate thread, so this save action should be transferred to a background thread.

    Steps to Reproduce:
    Make a SkinSettings.xml file with a lot of settings (I have 300+) & execute several skin.setstring on onfocus while a fadelabel moves (this makes the effect extra visible).

    Now move focus to the button that sets the strings & the fadelabel will pause updating until the file is saved to disk.

    The effect is most visible when using a normal HD for the skin directory (instead of an SSD).

    You can also have multiple buttons that set several settings that move focus between them. Then activate ! render stats and quickly jump with the focus. I can push down to 1 frame/sec
     
    Last edited:

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    I would expect all Disk I/O needs to be done in a separate thread

    Not probably caused by the disk I/O but some CPU intensive processing. Writing few kbs to HD in a rendering loop is not a great idea, but definitely it wont cause huge stall with modern HW.

    But you are correct, all heavy processing needs to be done outside the rendering loop (==main thread).
     

    mbuzina

    Retired Team Member
  • Premium Supporter
  • April 11, 2005
    2,839
    726
    Germany
    Home Country
    Germany Germany
    Could be, I checked task manager and yes, CPU goes up quite a lot, reaches 18% for me (4 HT cores, could be 1 thread 100%). I thought we were waiting for disk I/O to complete.

    Still I would say this is a bug to be fixed. Future skins will probably use these features quite a lot to be flexible and blocking rendering is not a good idea.
     

    Users who are viewing this thread

    Top Bottom