Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 10

Stats on resolutions, 720 vs 480 vs widescreen 480?

I wonder how many possible resolutions do i have to deal with writing a non-video app (say text and images only). From player setup and RTFM, there are 3 display modes:
  • 720 (HD 16:9)

  • 480 (SD 4:3)

  • widescreen 480

Do you have any statistics, what is the distribution in % between the 3 modes in the wild?
0 Kudos
16 Replies
Highlighted
Level 9

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

"EnTerr" wrote:
how many possible resolutions do i have to deal with writing a non-video app

That depends entirely on the components you're using. All of the built-in screen types, with the exception of roImageCanvas, support both SD and HD without you having to do anything special other than provide an HD and an SD asset for the primary theme attributes (overhang, logo, splash screen). The roScreen will automatically scale down to SD, so you'll only need to do SD adjustments there if you're not happy with the results at the 4:3 resolution.
"EnTerr" wrote:
Do you have any statistics, what is the distribution in % between the 3 modes in the wild?

RokuJoel recently stated that 40% of the user base is still using SD. Personally, I think that's an absurd number, and probably boils down to the fact that they don't include an HDMI cable in the box. Assuming that's true, I'd bet a large percentage of the 40% is actually running at the "16:9 widescreen" resolution on an HD television, because they don't know any better.
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
Highlighted
Level 10

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

"TheEndless" wrote:
That depends entirely on the components you're using. All of the built-in screen types, with the exception of roImageCanvas, support both SD and HD without you having to do anything special other than provide an HD and an SD asset for the primary theme attributes (overhang, logo, splash screen). The roScreen will automatically scale down to SD, so you'll only need to do SD adjustments there if you're not happy with the results at the 4:3 resolution. ... RokuJoel recently stated that 40% of the user base is still using SD.

I was looking at roScreen in particular, with square pixels. Bear with me and let's go with no autoscaling, PAR=1:1 (took me a while to guess what PAR=1.1:1 stands for, it's "pixel aspect ratio"). If i understand it right, player "can only come to me" in only 1 out of 3 modes, which determines my resolution like so:

getDisplayType() getDisplayMode() getDisplayAspectRatio() W x H
---------------- ---------------- ----------------------- --------
"HDTV" "720p" "16x9" 1280x720
"4:3 standard" "480i" "4x3" 720x480
"16:9 anamorphic" "480i" "16x9" 854x480
...and there are no others, nitpicking aside (Roku3 not supporting SD; the 4th choice in setup - of 1080 that will be 720, etc).

That number you remembered (thanks!) gives us ~60% for "HDTV", so how do the other 2 modes split the 40%, i wonder?
0 Kudos
Highlighted
Level 9

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

"
The roScreen will automatically scale down to SD


Endless, under what conditions does this happen? I have a channel and a screensaver for instance, with all roscreens and no attempt to accommodate SD. The screensaver scales down and shows as you would want , but the channel does not.
Kinetics Screensavers
0 Kudos
Highlighted
Roku Employee
Roku Employee

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

If I create an roScreen with a specific dimension:

screen=createobject("roscreen",false,1280,720)

Then no matter what the settings are on the device, the screen responds as if it is 1280x720, and screen.getwidth() will always return 1280, screen.getheight() will always return 720.

If on the other hand, I choose to omit the dimensions, then the screen by will be either 1280 x 720 for either HDTV mode, or 720 x 480 for SDTV mode. In short, the developer really never needs to worry about 16x9 mode, except for one thing:, squished or stretched images may occur.

Using the "always 1280" screen dimensions will make a circle into an egg in 4:3 mode, but will look fine in 16:9 mode, and using the "let the system choose roScreen Dimensions" approach will make a circle into an egg in 16:9 mode.

sub main()
screen=createobject("roscreen",false) 'roScreen dimensions based on device setting
'screen=createobject("roscreen",false,1280,720) 'roScreen dimensions chosen by developer
print screen.getwidth(), screen.getheight()
xcenter=int(screen.getwidth() /2)
ycenter=int(screen.getheight() /2)
radius=200
r2=radius*radius
for x=-radius to radius
s=sqr(r2-x*x)+0.5
y=int(s)
screen.drawline(xcenter+x,ycenter+y,xcenter+x,ycenter-y,&hffffffff)
end for
screen.finish()

sleep(5000)
end sub


- Joel
0 Kudos
Level 9

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

"squirreltown" wrote:
"
The roScreen will automatically scale down to SD

Endless, under what conditions does this happen? I have a channel and a screensaver for instance, with all roscreens and no attempt to accommodate SD. The screensaver scales down and shows as you would want , but the channel does not.

As Joel pointed out, you have to explicitly specify the screen dimensions to get it to scale for SD, otherwise it'll use the current screen dimensions. I, generally speaking, always specify 1280x720, and only make adjustments for 4:3 SD mode if there's a specific need for it (like displaying album covers or peoples' faces).
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
Highlighted
Level 9

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

Joel, Endless - thank you that worked great, the channel now scales down just fine. Maybe its just me but It seemed counter-intuitive that telling it explicitly to be 1280x720 would make it scale but who cares! It works, thanks. Thats a real (hidden) benefit of roScreen.
Kinetics Screensavers
0 Kudos
Highlighted
Roku Employee
Roku Employee

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

@squirrelltown, wasn't aware of this either before seeing Endless' post on the subject, previously, I always built HD and SD versions of every channel that used roScreen, including a duplicate set of images, one for each resolution. I decided to test it out after I read your post.


- Joel
0 Kudos
Highlighted
Level 10

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

@RokuJoel -
anything on the specific question i asked though?
(% distribution of the 3 modes in which players are set.)

PS. Sure, autoscaling is like when you set computer video card output to a resolution that is not LCD monitor's "native" resolution; then it shrinks or expands image accordingly. Except it is done by the player and not TV (kind of like DVD players can do in-player upscale with presumably chance of doing better interpolation than the TV). But like i said, "... with square pixels. Bear with me and let's go with no autoscaling, PAR=1:1". I want to get the best possible resolution possible for text reading and undistorted images, hence looking at "native" resolutions.
0 Kudos
Highlighted
Roku Employee
Roku Employee

Re: Stats on resolutions, 720 vs 480 vs widescreen 480?

I wasn't attempting to answer the specific question you asked when I posted, but I'll see if I can get some stats next week.

- Joel
0 Kudos