Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
EnTerr
Roku Guru

Re: Infinite "hall-o-mirrors" effect with scaled screen

"TheEndless" wrote:
... Going this route would require scaling all of the bitmaps either before or while drawing to the region. Since it sounds like Komag is using the compositor, that would cause a real headache, as it would require scaling the sprites when you create them.

It's not even half as bad as it sounds at first. One would have to down-size every bitmap to 90% only once - on load/creation. (You can probably sketch general function for that on the back of a napkin; i'll have to browse the docs for that). Then drawing speed per frame won't be affected at all (actually will be 10-20% faster but let's not split hairs).

The one annoying part remaining is to re-structure the coordinates/placements - and i share the annoyance, if one had planned for 1280x720 chopped into a grid, suddenly now there is 1152x648 and the numbers meticulously selected to be "round" (in some sense) suddenly will turn "odd".

I think that would be the best option if doing retro-fitting. And i remain of the opinion it's best to design for TV overscan (linear-90% safe viewing area) and consider full-image TVs (100%) the rare exception. Or can someone state less than 80% TV sets are in overscan mode?! As a budding developer for TV, I am very much interested to hear market stats if any exist.

Here is something interesting i just read - which sheds light on how this PITA came out to be - turns out to allow for aging of cathode ray tubes (CRT)!
"https://archive.is/D5U23" wrote:

A Little Background on "Underscan:"
Back in the early days of television, the image on their little screens shrunk as TV sets got older because the electron gun that created the picture didn't move as well as it aged. As a result, a black border would appear around the edges of the picture. The electron gun could be recalibrated to fill the whole screen, but that was time consuming and costly. The solution that the TV industry settled upon was to "crank up" the electron guns of new picture tubes to paint the image beyond the borders of the picture tube. Then, as a TV set aged, more of the image would become visible rather than black bands appearing.

While this remedy worked, it created two problems. First, the broadcast industry coined the terms underscan and overscan and gave them counterintuitive meanings: "overscan" is the central part of the image that you can see on standard TV, whereas "underscan" is the full frame, which is visible only a production monitor. So the underscan actually shows more more of the picture than the overscan.

Second, the underscan solution has frustrated videographers and graphic designers to this day because they cannot be sure just how much of the frame will be visible on any given TV set. So they have to make sure that everything essential to scene is visible within the "Safe Area" while also taking care that nothing extraneous creeps into the overscan margin.
So a brand new TV would be showing 90% of the beam (angularly, 81% as area) - and as electron gun ages, the cone will narrow and eventually 100% of the image will be on screen. Later analog margins got abused to encode CC/teletext/EPG in them - and that's how we are in this morass in the era of all-digital flat-screen HD TVs.
0 Kudos
TheEndless
Channel Surfer

Re: Infinite "hall-o-mirrors" effect with scaled screen

"EnTerr" wrote:
"TheEndless" wrote:
... Going this route would require scaling all of the bitmaps either before or while drawing to the region. Since it sounds like Komag is using the compositor, that would cause a real headache, as it would require scaling the sprites when you create them.

It's not even half as bad as it sounds at first. One would have to down-size every bitmap to 90% only once - on load/creation. (You can probably sketch general function for that on the back of a napkin; i'll have to browse the docs for that). Then drawing speed per frame won't be affected at all (actually will be 10-20% faster but let's not split hairs).

I don't know what his game looks like, but if he were going this route (and it sounds like he'll have to now that he's run into the performance hit I warned about earlier), it'd make much more sense to just resize all of the source images themselves. No need to scale them in the channel code. If they're character sprites, then he may not need to resize them at all.. just make the game board a little smaller.

"EnTerr" wrote:
And i remain of the opinion it's best to design for TV overscan (linear-90% safe viewing area) and consider full-image TVs (100%) the rare exception.

And I still agree... 😉
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos