Forum Discussion

speechles's avatar
speechles
Roku Guru
3 years ago

Firmware 12 poster node with loadwidth/loadheight is broken

On firmware 11.5 and every single one prior when using a poster node you could use LoadWidth and LoadHeight to control how much was consumed in texture space. Since texture space is where you run into problems.

The documents state that when loadwidth and loadheight are used, and width and height are left at zero it will inherit the width/height from the loadwidth/loadheight. Which works on all firmware prior to 12.0.

Now with firmware 12.0 it always uses the height/width of the bitmap itself to render onto the screen rather than inherit that height/width from the loadwidth/loadheight used.

 

This change in behavior should be noted on the documentation for the poster node. As right now there is conflicting information there.

It says on Width/Height if left as zero will inherit as the bitmap size. Okay. All good.

But then on LoadWidth/LoadHeight it says if width/height are zero but loadwidth/loadheight are set it will inherit those values into width/height. Here is where I can say the documentation is lacking and confusing.

To me this is a bug in firmware 12.

Can anyone confirm to me that has access to firmware 12 that I am not crazy. Thanks. 🙂

6 Replies

  • renojim's avatar
    renojim
    Community Streaming Expert

    Do you have loadDisplayMode set?  I notice if I don't set that the loadWidth and loadHeight don't affect the displayed poster.  It defaults to "noScale".

    • speechles's avatar
      speechles
      Roku Guru

      Yes. loadDisplayMode="scaleToFit"

      Which should respect the loadwidth/loadheight (texture cache savings) and inherit those into width/height (fit to screen space requested the image using that texture) when those are left at zero with loadDisplayMode="scaleToFit".

      But instead what happens is the bitmap width/height is inherited instead which should only happen when loadwidth/loadheight is left at zero. If you use loadDisplayMode="limitSize" it will not scale to fit or fill or zoom that texture to the image size. It will just remain the size of the loadwidth/loadheight. You must use ScaleToFit or ScaleToFill or even ScaleToZoom to get there. These used to respect the same behavior as "limitSize" and give the ability to scale on top while passing loadwidth/loadheight into width/height. So something changed here in a not good way.

      The weird part is 11.5 and prior have all worked perfectly fine with this code for years. It is only now with firmware 12.0 that this is a noticeable (pun intended) problem.. lol.

      I was just hoping to get the documentation in that regard for the poster component cleared up. Something in firmware 12.0 changed in regards to this. Needs clarifying. That is all. 🙂

       

      Side-note: Those mutliple captcha of click the motorcycle/streetlight/bus/crosswalk stuff is demeaning to us humans... and annoying.

       

       

      • renojim's avatar
        renojim
        Community Streaming Expert

        I don't think I'm seeing what you're seeing.  I assume you're using r2d2_bitmaps to check the texture memory?   I tried with a 3024x3024 6MB bitmap with loadWidth set to 1000 and loadHeight set to 750 and I get this:

         

         

        0x04799743   666    500   3  1376256        0    1    0 <dev_332a_52>http://192.168.0.118/test.jpg?3751

         

         

         This is on a box that doesn't support FHD, hence the 666x500.

        I may not understand exactly what you're speaking about and will admit you know a lot more than me about graphics and the texture cache. 😀

        I did receive an email recently indirectly about one of my channels and 12.0.  There was definitely a change in the image handling and I had to add loadSync=true for my case, but I don't think that applies here and I tried it both ways without any difference.  Maybe RokuBen can give some more details about what changed.

        I'm using a 3910 on 12.0.0 build 4123 in case that matters.

        I couldn't agree more about the freaking captcha!