Posted by error454 on 08/26/2011
This article is no longer maintained, please see TouchPlayer Documentation.
One thing the touchpad clearly lacks is the number of supported video formats available. Out of the box, the mp4 container with h.264 codec is pretty much it. If all of your videos are in this format already, you can benefit from the hardware acceleration that the stock video player provides for this codec.
If you want to play any other format, you have a few options:
- Convert your existing media to mp4 h.264 with an app like Handbrake. Leave it running overnight to take advantage of spare CPU cycles.
- Run a media server like Playon that transcodes media on the fly. You need a reasonably fast cpu to do this (atom powered servers do not apply) as you are converting and serving the video real-time.
- Get a new video player for your touchpad.
This article is going to explore the 3rd option in more detail. Read the rest of this entry »
Posted in Homebrew, WebOS | Tagged: avi, ffmpeg, homebrew, mkv, mplayer, vlc, webos | 55 Comments »
Posted by error454 on 08/24/2011
In a previous design diary, I talked about screen boundary detection. What is an easy way to determine when an object has left the screen so that you can act on it?
I discovered a new solution that is incredibly cheap and easy with a few caveats:
- You will not know which edge of the screen the object has passed (so it won’t work for wrapping objects around on the screen)
- You only get one notification when the object moves beyond the camera (unless you setup a timer)
Read the rest of this entry »
Posted in Shiva 3D | Tagged: 2d, 3d, design, game, indie, screen boundary, shiva, shiva3d | Leave a Comment »
Posted by error454 on 08/14/2011
As we are narrowing in on the release of our game, we turned our attention on the game performance. Our low end target is an Android HTC Inspire, mid-range is an HP Pre Plus and super high-range is an HP Touchpad.
We were having an issue with 1 scene in-particular where on the Touchpad, we were consistently dropping to 15 fps. For a dual core beast, this was bad.
This article is partly about the debug process and highlights 3 areas we found where we gained performance. Read the rest of this entry »
Posted in Android, Shiva 3D, WebOS | Tagged: audio, design, openal, performance, pools, sensors, shiva, shiva3d, slowdown, texture, textures | 4 Comments »
Posted by error454 on 08/11/2011
The use of the proper sensor in Shiva is critical to obtaining optimal frame-rate. In the past, you may have hap-hazardly populated onSensorCollision without a second thought. This could cause serious performance issues down the road.
The largest difference in the 3 sensor handlers are the circumstances under which they are fired. I’m sure you are familiar with these differences already, but if you aren’t here is a quick recap.
- onSensorCollision – Called on every frame as long as sensors are colliding.
- onSensorCollisionBegin – Called every frame that sensors are colliding as long as they weren’t colliding the previous frame.
- onSensorCollisionEnd – Called every frame that sensors are not colliding as long as they were colliding the previous frame.
You may be thinking, “yeah dude I already know all of this” but what you might not know is the minimum performance impact that these sensor handlers impose. Read the rest of this entry »
Posted in Shiva 3D | Tagged: fps, onSensorCollision, onSensorCollisionBegin, performance, sensors, shiva, shiva3d | 1 Comment »