That's true. It's usually the next call. Everything you describe in your Netflix prototype can be performed with roScreen. Sprites can be hidden by setting the z order to < 0. They can even be reused by simply changing their region (SetRegion) to a new bitmap region. Using a compositor introduces a bit more complexity for implementing a video player as it always clears the screen with your call to drawall. But a full screen videoplayer can be easily implemented by setting the color value in setdrawto to transparent. A smaller video player can be carved out of a region of the window itself ( create a region using roScreen) and clear that area sandwiched between drawall and swap buffers. Panels can be created and sprited over an entire transparent window Using their own transparent region within their bitmap to expose the videoplayer. While other accessory components can take advantage of the panel bitmap real estate and create their own regions with which to draw themselves Saving resources and memory. regardless the player can only be exposed by drawing or clearing a transparent area over it with the proper alpha settings. There are some anomalies with firmware 7 that I noticed when it comes to clearing or drawing transparently to the window itself. It appears to change the alpha enable setting of the window. I don't know if this applies to having a compositor or not. In any event depending on the setting of the window you generally will set it false to clear the transparent video region before your call to any roScreen drawing or clearing function and then set it back before you call swapbuffers otherwise any other alpha blending you have in accessory components will not be rendered properly after the swapbuffers returns
As far a texturemanager vs rourltransfer the advantage is in what you need it for. Rourltransfer is good for downloading once or infrequently a complete set of textures. If you need to manage memory because you have many bitmaps then you essentially have to create a system to manage loading And unloading. This is where the texturemanager outperforms. It is already designed to request, cancel and load bitmaps. And it does it very well. It also has the added advantage of an LRU which is pretty good so subsequent reuse of unloaded bitmaps will appear faster
My Channels: 2D API Framework Presentation: https://owner.roku.com/add/2M9LCVC
Updated: 11-11-2015 - Completed Keyboard interface
The Joel Channel ( Final Beta )