Mobile GPU performance comparison

Google can deny it all day long but the fact is that the Android ecosystem is suffering from hardware fragmentation and things aren’t looking like they are going to get better any time soon. One of the main hardware difference between Android devices is he GPU which is part of the SoC (System On a Chip / Chipset) powering the handset. There’s currently three big players in the market today: Qualcomm’s SnapDragon SoC with the Adreno 200 GPU, TI OMAP 3XXX with the Power VR SGX 530/535 and finally Samsung’s Hummingbird (S5PC110A01) with a PowerVR SGX540 GPU all three of them feature a CortexA8 CPU core. Android and Me wrapped up a couple of benchmarks comparing them and the final verdict is clear as bottled water. Samsung’s Hummingbird is heads and shoulder above the competition thanks to the SGX540 GPU, followed by TI’s and Qualcomm’s chipsets. This should come as no surprise, the SGX540 is currently the most powerful mobile GPU on the market but one has to take into account the quality of the drivers. Qualcomm has been far behind in this sector ever since its acquisition of AMD/ATI’s mobile GPU division nearly 2 years ago. Benchmarks conducted on Windows Mobile devices like the HTC HD2 (SnapDragon with Adreno 200/AMD Z430 GPU) have shown up to a %500 increase in performance in some bechnmarks when homemade/tweaked drivers where used instead of the ones supplied with the retail device. This doesn’t mean that it can rival Samsung’s SGX540 equipped handsets like the Galaxy S line of Android phones but SnapDragon based devices would have graphics performances more in line with what you should expect from a hing-end smartphone in 2010. It will be interesting to see how things will be like on Microsoft’s Windows Phone 7  platform (Only Qualcomm is certified to provide chipset for the first WP7 handsets) now that Microsoft will provide/certify the drivers. From what I have seen the graphics performance of the prototype devices is tons better than what we have now on the market. It has been said by me many times (and others who have played with the Samsung Taylor): the UI of WP7 ( Direct3D fully hardware accelerate by the Adreno GPU) is more responsive than the iPhone. Things will only get better in the future when devices like the HTC Mondrian WP7 handset will supposedly feature the updated Snapdragon core and when Google finally sets minimum performance and hardware requirement in a future version of Android (rumored to come in Android 3.0).

Continue reading Mobile GPU performance comparison →

All Windows Phone 7 MIX10 Sessions Part 2

Below are the rest of the Windows Phone 7 Series MIX10 session made that have currently been made available.

Building Windows Phone Applications with Silverlight, Part 1:

PowerPoint Presentation: Click

Continue reading All Windows Phone 7 MIX10 Sessions Part 2 →

All Windows Phone 7 Series MIX10 Sessions Part 1

Here are all the Windows Phone 7 Series MIX10 sessions currently available online.

Changing our Game – an Introduction to Windows Phone 7 Series:

Continue reading All Windows Phone 7 Series MIX10 Sessions Part 1 →

3D rendering effects overview on Windows Phone 7 Series with video

Microsoft demonstrated all the new effects available in the XNA Game Studio 4.0 release during a GDC session and my pal Chuong from Pocketnow had the chance to capture it on video. The first video principally covers the new guidelines and resolutions supported by WP7 (WVGA & HVGA). Microsoft is also suggesting to developers that developing intensive 3D games at WVGA isn’t really recommended. Using the build-in hardware scaler seems to be the preferred solution. For example, a game can be rendered by the GPU at 600×360 & then upscaled to 800×480 by the scaler (same aspect ratio) to achieve greater framerate. I’m guessing that this is what Apple is implementing on the iPad (iPhone apps are upscaled for “free”) and feature higher-res iPhone phones.

Tse second video is an overview of the 5 new effects added to the XNA 4.0: BassidEffect, DualTexttureEffect, AplhaTestEffect, SkinnedEffect & EnvironementMapEffect:

Here’s description of each one of them:

BassicEffect:
- 0-3 Directional lights
- Blinn-Phong Shading
- Optional Texture
- Optional Fog
- Optional Vertex Color

DualTextureEffect:
- For lightmaps, detail textures, decals
- Blends two textures
- Separate texture coordinates
- Modulate 2X combine mode
- Good visuals at low pixel cost

AplhaTestEffect:
- For billboards & imposters
- Adds alpha test operations (pixel kill)
- Standard blending is free with all effects
- Only need alpha test if you want too disable depth/stencil writes

SkinnedEffect:
- For animated models and instancing
- Game code animates bones on GPU
- Vertex skinning performed by the GPU
- Up to 72 bones
- One, tow or four weights per vertex

EnvironementMapEffect:
- Oh Shinny!
- Difuse Texture + cube environement map
- Cheap way to fake many complex lights
- Frsnel term simulates behaviour when lights reaches a surface and some reflects, some penetrates

Windows Phone 7 Series will support WVGA & HVGA resolutions, no programmable shaders (at launch)


Microsoft’s Shawn Hargreaves just announced that 2 screen resolutions will be supported on Windows Phone 7 Series: 800×480 (WVGA) at launch and 480×320 later (possibly in Q1 2011?):

The phone features an image scaler which allows games to render to any size backbuffer they like, and have it automatically stretched to fill the display, with black bars along the edges if the backbuffer and display have different aspect ratios (an idea that will be familiar to Xbox developers). This scaling is handled by dedicated hardware, so does not consume any GPU resources, and it uses a high quality image filter that gives much better results than bilinear filtering like you would get if you did this yourself on the GPU. The scaler is important for two reasons:

At launch, all phones will have a 480×800 (WVGA) display resolution, but we will add 320×480 (HVGA) in a future update. Of course you can detect the native resolution and program your game to adapt to this if you want, but the scaler allows games to pick just one resolution, always render at that fixed size, and still run correctly on phones with different native screen sizes. For bonus points, we automatically scale touch input to match your chosen resolution.

480×800 is a lot of pixels! This is a great resolution for displaying text, browsing the web, etc, but it can be a challenge for intensive 3D games to render so much data at a good framerate. To boost performance, some games may prefer to render at a lower resolution, then scale up to fill the display.

The other piece of info reveiled yesterday is that XNA Gmae Studio 4.0 won’t expose programmable shaders because of the tight developement scheduled for WP7. but this fuctionality should be included in a future update:

The phone supports full hardware accelerated 3D, but we are not exposing programmable shaders in this release. Charlie Kindel summed up the reason for that in a great article about focus and priorities:

“We will do a few things and do them very, very well; we are better off not having a capability than doing it poorly. There are always future versions.”

Instead of programmable shaders, we augmented the existing BasicEffect with four new configurable effects: SkinnedEffect, EnvironmentMapEffect, DualTextureEffect, and AlphaTestEffect. These are designed to run efficiently on the mobile GPU hardware, and I think do a good job of providing enough flexibility for developers to create awesome looking games, while also meeting our goals of being able to ship a robust and well tested product on schedule.

This may disapointing to some devs given that the GPU inside of the SnapDragon chipset (AMD Z430) features a unified pixel & vertex shader pipeline (based on the Xbox 360 Xenos GPU). I guess that Microsoft still needs some time to update Direct3D Mobile. Hopefully updates will be released soon after the initial launch this fall.

All about Xbox Live on Windows Phone 7 Series

Microsoft’s Andre Vrignaud live-tweeted the Xbox Live on WP7 session that took place at GDC today.

  • Q: Will games have to go through cert? Or just XBL games? A: all games go through cert, XBL games will have a few more reqs.
  • Other resources: Windows Azure – microsoft.com/windowsazure
  • Other resources: pitch your Xbox LIVE-enabled game: wpgames@microsoft.com
  • Wrapping up… get the dev tools at creator.xna.com, go to MIX10 for more next week!
  • Focusing on asynch (turn-based) “mobile minute” friendly gaming at launch. No ad-hoc local WiFi/Bluetooth gaming initially.
  • Most APIs are present on all platforms – make it easier to write clear, crossplatform code.
  • Why Push? Efficent battery util, low memory/CPU use, simple model, no persistent connection required, web 2.0 friendly.
  • @smartyp Yes, these WP7/XBL capabilities are available to both Silverlight and XNA-based games.
  • Push Notif. to Tile: Allows you to push visual notif. to pinned tiles on user’s home page. See at a glance what’s up in game.
  • Notifications not guaranteed delivery – best effort.
  • Notifications: Raw (cloud notifies app), Tile (user pins notif. to quick launch menu), Toast (Cloud sends a title and sub)
  • Extend games with HTTP: consume 3PP web services (weather, shopping), connect to own WS. We will have policies, need to talk with us.
  • Game Invites handled through email; player chooses email recipients.
  • Avatars: 2D avatars for launch, via web service.
  • Trial Mode: developer owns trial experience. Simple check, can be simulated to test. Send player to Marketplace to purchase.
  • XBL Leaderboard data blob is 4KB – place to store ghosts, races, game data, etc. Some cool stuff you could do here with this!
  • Leaderboards: Track friends, score or time-based, fixed set of columns, game defined blob of data, paging, easy API.
  • Think I see a blog post ahead about Achievements best practices, recommendations, and learnings we’ve had over the years…
  • Achievements: real achievements, real gamerscore. Up to 20 achievements, 200 GS max.
  • Profile: your WP7 phone knows you by your Windows LIVE ID (associated with your Gamertag). Use existing WLID, or create new.
  • XBL conn. opt: HTTP req/resp, push notifications, XBL features (2D avatars, invites, profile, achievements, lb, trials)
  • XBL at fingertips with WP7. Games Hub = where XBL meets WP7 OS. Profile, game library, turn notifications, browse spotlight.
  • Some aditional XNA Game Studio 4.0 information was also posted by Charlie Kindel:

    XNA Game Studio 4.0

    •  
      • Power: XNA Game Studio 4.0 includes powerful audio and graphics tools that allow developers to create all types of games, from casual 2-D games to 3-D games with high-quality graphics.
      • Productivity: XNA Game Studio 4.0 is a managed code platform, which means that Microsoft has done the back-end work that will save developers time in the coding process. It allows developers to be more productive and focus on gameplay and design.
      • Portability: XNA Game Studio 4.0 makes it possible for developers to adapt games built on previous versions of XNA Game Studio to work on Windows Phone 7 Series without re-coding the entire game. Also, once a developer has created a Windows Phone 7 Series game, they can use some of that code in XNA Game Studio 3.1 to adapt that game for Xbox 360, Windows or Zune.
    • XNA Game Studio 4.0 is a set of software tools that will be used by developers to create games for Windows Phone 7 Series. This updated version of XNA Game Studio will allow game developers to create better mobile games faster by providing:

      Pedigree: Microsoft has invested in XNA Game Studio for the past four years to make it one of the most comprehensive and trusted tools for developers. There have been over 1 million downloads of previous versions of XNA Game Studio since its initial release in December 2006

    Game Development on Windows Phone 7 Series

    •  
      • Collect Achievements and build your Gamerscore
      • View Xbox LIVE leaderboards
      • See your Xbox LIVE Avatar
      • Access Spotlight feeds
      • Add Xbox LIVE friends to your friends list while out on the go
    • Windows Phone 7 Series is a whole new approach to phone software, distinguished by smart design and truly integrated experiences. It offers users new ways to find and play games, including:

      The games hub. The games hub will contain all the games an individual has acquired through the Windows® Phone Marketplace. We are partnering with a select group of publishers to create great Xbox LIVE games for the games hub. The Xbox LIVE features include the ability to:

      The marketplace hub. Windows Phone 7 Series includes the Windows® Phone Marketplace, where apps and games will be sold. Both independent and professional developers can offer games as apps via Marketplace, giving consumers a wide array of games to choose from.

    GDC isn’t finished yet so we can expect more WP7S info in the coming days (and next week at MIX). Stay tuned…

    Android NDK r3 release: OpenGL ES 2.0 support


    Google released the r3 version of the Android NDK yesterday finally bringing OpenGL ES 2.0 support for developers (OGL ES 2.0 is only avaialable on the SnapDrgaon and TI OMAP 3XXX chipsets).

    Toolchain improvement
    The toolchain binaries have been refreshed for this release with GCC 4.4.0, which should generate slightly more compact and efficient machine code than the previous one (4.2.1).

    Note that the GCC 4.4.0 C++ frontend is more pedantic, and may refuse to compile certain rare and invalid template declarations that were accepted by 4.2.1. To alleviate the problem, this NDK still provides the 4.2.1 binaries, which can optionally be used to build your machine code.

    OpenGL ES 2.0 support
    Applications targeting Android 2.0 (API level 5) or higher can now directly access OpenGL ES 2.0 features. This brings the ability to control graphics rendering through vertex and fragment shader programs, using the GLSL shading language.

    A new trivial sample, named “hello-gl2″, demonstrates how to render a simple triangle using both shader types.

    Name simplification
    This NDK release is just called “r3″, for “Revision 3″, to indicate that it is not limited to a specific Android platform/API level. Some developers thought that the previous release’s name (1.6_r1) was confusing and indicated that it could only be used to target Android 1.6, which was not true.

    With Microsoft pushing mobile gaming as one of the main Windows Phone 7 Series it will be intersting to see Google’s (and its OEMs) answer. Head over to the Android dev blog for mor info.

    Microsoft unveils first 3D games on Windows Phone 7 Series


    Following theannouncment of XNA Game Studio 4.0Microsoft just unveiled the first screenshots of 2 3D games currently being developed for Windows Phone 7 Series. The first one is The Harvesta Diablo-like action game featuring destructible 3D environments developed by Luma Arcade. The second one, Battle Punks developed by Gravity Bear, is a sword-fighting Facebook game. Microsoft also confirmed what I told you guys in my WP7 article: Direct3D is going to be only 3D API supported on Windows Phone 7 Series. So OpenGL apps/Games will have to be ported. Suffice to say that Microsoft is going hard at the competition (Apple/Android). Engadget also had a short XNA/3-screens dev demo at the GDC (basically the same thing we saw a few days ago):

    Windows Phone 7 Series development infromation and Q&A


    Microsoft’s Charlie Kindel has just posted a little blurb on what developers can expect in Windows Phone 7 Series. As expected (and leaked here in early February) the main development tools will be XNA and Silverlight (via Explression Blend):

    I mentioned in my last post that one of our principles was “to build upon the shoulders of giants; where possible integrate instead of create.” It won’t come as a surprise to many to learn that the Windows Phone 7 developer experience builds upon the following GIANTS (among others):

    .NET
    Silverlight
    XNA platform
    Microsoft’s developer tools
    Web 2.0 standards

    The expertise and familiarity with our tools is not lost. If you are a .NET developer today your skills and much of your code will move forward. If you are Silverlight or XNA developer today you’re gonna be really happy. New developers to the platform will find a cohesive, well designed API set with super productive tools.

    He also confirmed that their will be no backward compatibility with previsou and current Windows Mobile applications. You can check out his full post here

    If you are not faimilair with XNA or Silverlight I suggest you go check out the offical site here & here.

    The Windows Phone 7 Series Dev Team is running a Q&A session on Twitter right no. To follow it just click here or follow the #WP7DEV tag.

    Windows Phone 7 has everything to succeed

    Last week’s been really busy with MWC and the Windows Phone 7 Series announcement on Monday 15th in Barcelona. A lot has been said about it since then and the general consensus is that Microsoft is doing the right thing by restarting from scratch but some people are still worried or disappointed because of what seems like an “iPhonesque” shift in strategy. I’ll try to share my thoughts with you and hopefully give you a little insight on what can be Microsoft’s next Billion dollar business.
    Continue reading Windows Phone 7 has everything to succeed →

    Home Run Baseball OpenGL ES game on the Nokia N900 video

    Here’s a short hands-on video of an upcoming OpenGL ES game on the Maemo 5 powered Nokia N900:

    The game isn’t out yet but should be available through Nokia‘s OVI store in the coming month. Hopefully the slightly sluggish performance seen in the video will be fixed by then .

    source: FoneArena

    OpenGL ES coming to BlackBerry OS 5.0, Need For Speed demo on the Storm2

    Two days ago RIM announced a couple of new BlackBerry OS 5.0 features during the BlackBerry Developer Conference in San Francisco among them is OpenGL ES support. To demonstrted this Rim showed the new Need For Speed: Shift racing game running on the Storm2:

    Here’ are the new OS 5.0 features that were announced:

    - BlackBerry devices running OS 5.0 and higher will be able to benefit from OpenGL ES support, the 3D platform used by many of the world’s high-power smartphones for delivering killer games. There’s a beta of the SDK already, so let’s get cracking, everyone — we need some first-person shooters that totally negate BlackBerry’s ultra-productive image.
    - A new plugin for the Eclipse development environment should make building BlackBerry app GUIs easier than ever, which should hopefully lead to prettier apps; it’ll be available in mid-2010.

    - BlackBerry Theme Studio is now available, simplifying theme creation with support for changing the home screen layout, fonts, icons, colors, cursors, and more; it supports BlackBerry OS 4.2.2 and higher, which means that virtually every BlackBerry in a pocket (or holster) today should be able to take advantage. The timing’s perfect on this one, because RIM has also announced that themes can now be submitted to App World.

    - BlackBerry Payment Service has been announced for mid-2010 availability, bringing in-app payments, subscription support, and a variety of billing options, which all sounds far more robust than the PayPal-only setup they’ve got going today.

    - The Push Service made available to Alliance Program members earlier this year will be made available to all comers in “early 2010,” making it easy to push bite-sized chunks of “time-sensitive alerts” to phones quickly and easily.

    - BlackBerry Advertising Service has been announced for 1H 2010 availability, bringing a unified ad platform for developers with a variety of existing ad networks on board. If this means more free apps in App World, we’re all for it.

    - Expanding on the Flash partnership previously announced, RIM has teamed up with Adobe yet again to unveil tight integration with Creative Suite 5 with direct file exports for BlackBerry-optimized formats and the creation BlackBerry-specific web layouts. End users will also be able to pull files directly off their BlackBerrys into consumer offerings like Photoshop Elements. This particular news seems pretty fluffy since Adobe products are already capable of opening and saving media formats that the phones can use — but as with many of the other announcements here, we’re on board as long as it means better-looking apps.

    Source: YouTube & BlackBerry

    HTC HD2 OpenGL ES Stress Test

    I told you PocketPC.ch was doing it big today! Julian just posted a video of the HTC HD2 going against the original HTC Touch HD in an OpenGL ES stress test:

    Unfortunately we can’t see the results, but according to him the HD2 numbers are 10X higher than the HD. He will re-shoot the test later on and save the result to share them with us. Hopefully this will shut down all those “HTC HD2 doesn’t have drivers” rumors.

    Source: PocketPC.ch thanks for the tip Julian

    Silvermoon Windows Mobile OpenGL ES Compact Framework UI makes Microsoft’s devteam look like amateurs

    Here’s what Windows Mobile (and the much hated MSM7200 SOC) can do when coded right:

    Here’s what Silvermoon is:

    Project Description
    .NET Compact Framework 2.0/3.5 Control library
    that uses OpenGL for rendering.
    This is the first beta release of Silvermoon, a collection of windows mobile compact framework 2.0 controls to build modern user interfaces with transitions, alphablending and other effects.
    Silvermoon requires hardware support for open gl and expects the libGLES_CM.dll to be available. However, in the source code is a software rendering replacement available, but this is really not recommended, unless you want to deal with 0.3fps instead of 25fps!
    The beta version works with a resolution of 192dpi, which is the standard for actual mobile phones. (192dpi are used with resolutions of 480×800, 480×640 or similar, while 96dpi is used for resolutions of 240×400).
    However, it also works with 96dpi but it is not yet optimized and needs alternative images to fit for smaller resolutions.

    Silvermoon was developed (and being in progess to be in development) on a Sony Ericsson X1 phone.

    Startup

    For more info and to download the files head over here

    Source: Slivermoon/Codeplex via WMPoweruser

    Sony Ericsson Satio OpenGL ES 2.0 support info

    Sony Satio
    Sony Ericsson’s upcoming Satio smartphone is their first ever device running on the Symbian S60 5th Edition OS. It also is SE’s first OpenGL ES 2.0 phone thanks to the TI OMPA 3430 (which sports a PowerVR SGX GPU) chipset on board similar to Samsung’s Omnia HD’s S60 phone.
    An interview with Mike Hopkins at Imagination Technologies was posted on SE’s developers website:

    Which hardware does Satio™ use?

    The Sony Ericsson Satio™ uses the OMAP3430 processor from Texas Instruments which includes a POWERVR SGX Family Graphics accelerator IP block licensed from Imagination Technologies.

    How do I access the POWERVR SGX Accelerated Graphics?

    Imagination Technologies enables developers to access its POWERVR SGX core through the industry standard OpenGL ES APIs defined by the Khronos Group.

    Satio™ supports the latest OpenGL ES 2.0 as well as the existing OpenGL ES 1.1 API, which are designed to enable full-function 2D and 3D graphics on embedded systems. These APIs create a flexible and powerful low-level interface between software and graphics acceleration. OpenGL ES includes profiles for floating-point and fixed-point systems and the EGL™ specification for portably binding to native windowing systems.

    Show me what OpenGL ES 2.0 can do on Satio

    Here’s a video of Satio playing one of the demo presentations made by Imagination Technologies

    What is the difference between OpenGL ES 1.1 and OpenGL ES 2.0?

    OpenGL ES 1.1 limits graphics processing to a pre-defined set of fixed options for lighting and drawing objects. For example, there are a limited number of ways to apply an image to a 3D object to determine the overall look. With OpenGL ES 2.0 you have access to the full flexibility and programmability of shaders, which means a developer is no longer limited to a pre-defined set of fixed options. Shaders are small C-style programs, programmed using OpenGL Shading Language (GLSL), which tell the hardware in detail how to process geometry and pixels allowing the developer to give each application its own unique look and feel. With OpenGL ES 1.1 this was much more difficult and unique effects had to resort to the programmability of the CPU instead of the GPU, whereas with Open GL ES 2.0 the full power of the GPU is made available to developers.

    You can read the rest here