Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
rynop
Level 7

RowList flickering and not rendering poster images (video included)

I'm running into a image rendering/flickering issue with RowList that I can not figure out.  The best way to describe what is happening is to show you a video of what im seeing:

https://goo.gl/photos/oMtDM94ZYixuemQx7

1) How do I prevent flickering when I'm not even using the controller?
2) Why when I navigate around the RowList do poster images sometimes display and sometimes go away?

It is acting as if it is re-downloading the images constantly, however I don't see anything in the telnet log.  Some of the poster images are large (4 megs) - could that be the issue?  Is there some sort of max buffer size for rendering images?
0 Kudos
3 Replies
belltown
Level 7

Re: RowList flickering and not rendering poster images (video included)

I haven't used a RowList, but I have run into issues with other components where images that were previously loaded just disappear and don't automatically re-appear when they should. It's as if there's some form of caching going on, images being swapped out to save space, but never swapped back in when they need to be redisplayed. In my case, I was able to fix all of those problems by setting the Posters' loadSync attributes to "true". I don't know how that would work in the context of a RowList though.

Note that you should be able to see which images are loaded at any given moment, and how much space they occupy, by opening up a telnet session to port 8080 and issuing the r2d2_bitmaps command.
https://github.com/belltown/
0 Kudos
rynop
Level 7

Re: RowList flickering and not rendering poster images (video included)

loadSync="true" did not help, I think its cuz per the docs:

if the uri field specifies a file from a remote server (a URL starting with http or https), the image is loaded asynchronously in a background thread, and may not appear immediately. Be careful when setting this field to true, as it might cause brief glitches in the rendering while the image is being fetched and loaded.

Is there a hard limit of 16MB of image buffer for the entire app?  I found this SO link that states, as I expected, images get unloaded when img buffer gets full: http://stackoverflow.com/questions/41327516/why-are-heavy-images-not-loading-when-we-scroll-down-and-scroll-up

What is the limit and how can I increase it?  roBitmap lists 16MB but is that per image or is 16MB the global limit?

Here is my r2d2_bitmaps output:

aaa (Roku Stick - aaa)
>r2d2_bitmaps
RoGraphics instance 0x9041a5df
address    width height bpp     size name
0x869d1d9f  2048     24   1    49152 /Netflix/Fonts/common/Gotham-Book.otf 24
0x9d835be7  2048     20   1    49152 /Netflix/Fonts/common/Gotham-Book.otf 20
0x904b4ccf  2048     27   1    65536 /Netflix/Fonts/common/Gotham-Book.otf 26
0x9f726d67   640    360   3   983040 /tmp/download/bd8aad4ba7a4f6a8e20ec0cfbf708003
0x9f72e2ef   900    507   3  1900544 /tmp/download/343b3fa41c7f274e55660bad8d7d8ab4
0x9fdd73b7   900    507   3  1900544 /tmp/download/b4f0bbca967974ee9fa2b9447b6f156e
0x86585ec7   900    507   3  1900544 /tmp/download/3527129101e680ac28944c56da2f1644
0x9f5ec767   900    507   3  1900544 /tmp/download/d5d703676017cd4806b1eadae9ab685b
0x9d833eff   100    100   4    65536 /Netflix/Artwork/SceneGraph/GenevaTheme/Base/HD/focus_grid.9.png
0x8657dbbf    28     30   4     4096 /tmp/plugin/EEAAAAqogrIv/pkg:/images/options-star.png
0x86523237   239     53   4    65536 /tmp/plugin/EEAAAAqogrIv/pkg:/images/header-logo.png
0x9fd00a67  1280    720   3  3768320 /tmp/download/fab2ec3639d719f894ea520bd3a6f419
0x9fdf0a7f  1280    720   3  3768320 /tmp/download/dcffd253c65c01b9f1217539d5705865
0x9f72678f  1280    720   3  3768320 /tmp/download/6e1ff481943e28ed7a527b273fc3400f
0x9fddc2b7   900    507   3  1900544 /tmp/download/947372be1d7756e668fbcc1e40d8c951
0x86525c7f   900    507   3  1900544 /tmp/download/854d9599c1d100b683600eb9c9a0974f
0x9fdbb8af  1280    720   3  3768320 /tmp/download/747d8d8f6a243afde9af8f992fb0f343
0x9d832987  1280    720   3  3768320 /Netflix/Artwork/SceneGraph/GenevaTheme/Base/HD/background.jpg
Available memory 18473088 used 31526912 max 50000000



WTF are these "Netflix" images?
0 Kudos
rynop
Level 7

Re: RowList flickering and not rendering poster images (video included)

Found the answer to the image question here: https://github.com/rokudev/docs/blob/master/develop/guides/performance.md#texture-memory
0 Kudos