HTML 5 performance

99 views
Skip to first unread message

Jeremy Kahn

unread,
Jul 18, 2012, 11:39:27 AM7/18/12
to pine-d...@googlegroups.com
The big question for Pine right now is how well Chromium will perform on the Raspberry Pi. Unfortunately I do not have hardware yet to test Chromium on, does anyone have an RPi with Chromium set up to do some performance testing?

According to this article it's kinda slow: http://myraspberrypiexperience.blogspot.co.uk/p/chromium-browser.html

Does anybody out there with deep Linux knowledge know how we might be able to optimize performance or allocate resources for HTML 5 games?

--
Jeremy Kahn

jerem...@gmail.com
Tel: 847.347.8086

Luke Stebner

unread,
Jul 20, 2012, 1:41:42 AM7/20/12
to pine-d...@googlegroups.com
I'm not sure this is the right place to post this, but do we need to consider any pre-installed drivers for USB devices such as different keyboards, mice or even gamepads (if possible to use with HTML5)?

Jeremy Kahn

unread,
Jul 20, 2012, 10:32:50 AM7/20/12
to pine-d...@googlegroups.com
Yeah, that will definitely be a challenge.  We're almost certainly going to have to roll a custom Linux distro, which means custom (or at least hard-picked) drivers and basically custom everything.  This well be especially challenging because I have no experience in this whatsoever. :)

It would be great if we could fully support the HTML 5 Gamepad API.

On Thu, Jul 19, 2012 at 10:41 PM, Luke Stebner <luke.s...@gmail.com> wrote:
I'm not sure this is the right place to post this, but do we need to consider any pre-installed drivers for USB devices such as different keyboards, mice or even gamepads (if possible to use with HTML5)?

--
You received this message because you are subscribed to the Google Groups "Pine" group.
To post to this group, send email to pine-d...@googlegroups.com.
To unsubscribe from this group, send email to pine-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/pine-discuss/-/a14KjVtE918J.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Jeremy Kahn

Alex Wilson

unread,
Jul 21, 2012, 4:30:00 PM7/21/12
to pine-d...@googlegroups.com
I've been reading some stuff on the LFS website and I definitely think making a custom Linux is the way to go especially because it preserves space. I use am Ubuntu machine as my main computer so I have experience with Linux, but I've never build my own.

Jeremy Kahn

unread,
Jul 21, 2012, 4:45:12 PM7/21/12
to pine-d...@googlegroups.com
The thing that concerns me with LFS is that it targets x86 chips.  Even if it can be made to work with ARM, I worry that by using LFS with no low-level Linux knowledge may be a very slow way to go.  We'll certainly need something very optimized, and a from-scratch distro would be best, but I want to at least get something workable in our lifetimes.  I'm going to look at Arch Linux, because it seems to be lighter than RPi Debian.

On Sat, Jul 21, 2012 at 1:30 PM, Alex Wilson <arex...@gmail.com> wrote:
I've been reading some stuff on the LFS website and I definitely think making a custom Linux is the way to go especially because it preserves space. I use am Ubuntu machine as my main computer so I have experience with Linux, but I've never build my own.

--
You received this message because you are subscribed to the Google Groups "Pine" group.
To post to this group, send email to pine-d...@googlegroups.com.
To unsubscribe from this group, send email to pine-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/pine-discuss/-/lVpyEn3q21EJ.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jeremy Kahn

unread,
Jul 21, 2012, 6:44:45 PM7/21/12
to pine-d...@googlegroups.com
I found this.  It's a guide for building a minimal Linux install with Chromium for RPi, which is exactly what we want.  It will take me some time to try this out (lots of downloads + building things are slowing me down), but I will report back once I have something.

Jeremy Kahn

unread,
Jul 22, 2012, 2:47:00 PM7/22/12
to pine-d...@googlegroups.com
It looks like Chrome can be made to run reasonably well on the RPi.  I haven't tested this, but there are smart people working on this - we're not alone.

Jeremy Kahn

unread,
Jul 23, 2012, 2:30:33 AM7/23/12
to pine-d...@googlegroups.com
So I've gotten Chromium to run on emulated hardware (I followed this guide).  I can successfully run this simple Rekapi demo. The performance isn't wonderful - I get maybe 10 frames a second.  But I'm still really optimistic about this, as we at least have basic functionality.

Something to keep in mind - the Raspberry Pi simply is not capable of cutting edge performance.  But with enough optimization in both the platform and the games that run on it, I think we can make a workable platform for SNES-quality gaming.

Luke Stebner

unread,
Jul 23, 2012, 1:17:25 PM7/23/12
to pine-d...@googlegroups.com
It sounds like we are going to need to put together a small game (or maybe a few) to do some benchmark testing with. 

Jeremy Kahn

unread,
Jul 23, 2012, 1:20:08 PM7/23/12
to pine-d...@googlegroups.com
Definitely. I want to focus on building a stable platform right now, but I'm happy to chip in to make a demo game when the platform is in better shape. 

--
Sent via mobile. 

Luke Stebner

unread,
Jul 23, 2012, 1:28:05 PM7/23/12
to pine-d...@googlegroups.com
If the Raspberry Pi ends up not being able to run games well or makes building games just far too much optimization work on the developer, are we going to look into other platforms or is your focus on only getting this running on the Raspberry Pi?

Jeremy Kahn

unread,
Jul 23, 2012, 3:06:40 PM7/23/12
to pine-d...@googlegroups.com
I'm not married to RPi. I'd really like to make it work for us, and right now I am far from giving up on it, but ultimately I will make technology choices that best let us achieve our goal: A low-cost HTML 5 game console. At the moment the RPi looks like our best bet. 


--
Jeremy Kahn


Sent via mobile. 

Luke Stebner

unread,
Jul 23, 2012, 4:53:47 PM7/23/12
to pine-d...@googlegroups.com
Cool. Just wondering what you're plan was, glad you're open to another device if need be. Not ready to give up yet either, especially not before we have an actual device and try running code on it. 

Jeremy Kahn

unread,
Jul 26, 2012, 10:34:57 AM7/26/12
to pine-d...@googlegroups.com
Apparently Hexxeh has gotten Chromium to run pretty well on the RPi hardware, and I've pinged him to ask how he does his magic.  Hopefully I can learn from him to make a performant frontend for Pine.

Luke Stebner

unread,
Jul 26, 2012, 4:28:06 PM7/26/12
to pine-d...@googlegroups.com
I was just talking to my coworker Chris (who is a web & game programmer) and he was giving me some alternative ideas like creating our own Python process/UI that could serve HTML instead of using something like Chromium. In fact, this could really be written in any language (C, C++, Java, etc). Just something else to throw out there.

Luke Stebner

unread,
Jul 26, 2012, 4:51:21 PM7/26/12
to pine-d...@googlegroups.com
Again, just to put other options out there for reference: The Gooseberry

Jeremy Kahn

unread,
Jul 26, 2012, 10:05:43 PM7/26/12
to pine-d...@googlegroups.com
I think it's really worth it to try and make Chromium work for us.  In addition to Webkit and V8, it provides a ton of developer tools, which we want to pass on to our users.  Also, it's constantly updated by Google, which is significant.

Then again, if the psuedo-webview that Chris is describing is more efficient due to lack of Chromium bloat, we should definitely consider it.  We'll go with whatever is best for Pine game developers.

The Gooseberry looks interesting.  The more powerful hardware looks compelling, and we can definitely give it a shot if the RPi can't be made to work.  I should mention that one of the reasons that I want Pine to work for the RPi is the community behind it.  The RPi community is large and rabid, and that would do a lot to help this project gain momentum.  But again, time will tell what truly is the best option.

On Thu, Jul 26, 2012 at 1:51 PM, Luke Stebner <luke.s...@gmail.com> wrote:
Again, just to put other options out there for reference: The Gooseberry

--
You received this message because you are subscribed to the Google Groups "Pine" group.
To post to this group, send email to pine-d...@googlegroups.com.
To unsubscribe from this group, send email to pine-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/pine-discuss/-/BZQMTXL3_rsJ.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Luke Stebner

unread,
Jul 27, 2012, 4:10:10 PM7/27/12
to pine-d...@googlegroups.com
All good points! I'm all for the RPi and your reasoning of sticking with it.

Jeremy Kahn

unread,
Aug 26, 2012, 1:45:44 PM8/26/12
to pine-d...@googlegroups.com
I'm working on benchmarks for Pine.  I just pushed an idle performance benchmark.  I built out a tiny framerate monitor yesterday and hooked it up a UI - which does nothing.  This will give us a good baseline for Pine performance.  On my MacBook AIr, I get just under 60 fps, which is expected.  The next step is to see how this performs on the actual hardware.

I would love it of someone could run the idle benchmark and report back the framerate.  To try it, just pull the latest code from Github and navigate to pine/ui/benchmark/?benchmark=idle.

We don't yet boot into the Pine UI... I should work on that.  I will need to coordinate with Scott on how to do that later, right now he is working out some MongoDB issues.

Jeremy Kahn

unread,
Aug 27, 2012, 12:27:29 AM8/27/12
to pine-d...@googlegroups.com
For what it's worth, my QEMU Raspbian environment gets about 49 fps at idle.  I don't think this value is indicative of much, because the environment is emulated and therefore quite slow.

--
You received this message because you are subscribed to the Google Groups "Pine" group.
To post to this group, send email to pine-d...@googlegroups.com.
To unsubscribe from this group, send email to pine-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/pine-discuss/-/fqtxPBYxSQsJ.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jeremy Kahn

unread,
Aug 29, 2012, 2:23:27 AM8/29/12
to pine-d...@googlegroups.com
Ugh.  Apparently, Chrome limits the JavaScript performance of iframes quite a bit.  I just pushed a new benchmark - it allows you to add or remove rotating squares to a page to see how the framerate fluctuates (hit space and backspace).  You can check it out by navigating to ui/benchmark/?benchmark=rotating-divs, or just selecting "Squares - JS" from the Pine UI.

When navigating to the page directly on my MacBook Air, I can add about 115 squares before the framerate dips below 50.  When running the same benchmark in the Pine sandbox (an iframe), I can only add about 7 squares before dipping below 50 fps.  This is definitely going to affect our sandboxing strategy - running games in an iframe isn't going to work.

I think we need to work out a solution for running games in their own tab.  I'm not sure how to really do this yet, I need to explore it a bit.  We'll need some way of programmatically controlling Chromium's tabs, and there should be a few ways to do that.  What I need to find out first is if we can actually have multiple tabs in Kiosk Mode.

Jeremy Kahn

unread,
Aug 29, 2012, 2:31:40 AM8/29/12
to pine-d...@googlegroups.com
Quick followup:  Chromium supports multiple tabs in Kiosk Mode, but actually controlling them programmatically might be a bit tricky.

--
You received this message because you are subscribed to the Google Groups "Pine" group.
To post to this group, send email to pine-d...@googlegroups.com.
To unsubscribe from this group, send email to pine-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/pine-discuss/-/ElOuaqFFp1wJ.

For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages