Poll: iOS Pro Deficiencies -->CVOpenglESTextureCache API --> Where is it!

There were several factors that I had to consider during the selection process of a “professional” version of a mobile game engine for Apple iOS. It was not an easy decision because I knew outside of the raw cost of the product itself many hours of valuable resources would have to be invested in learning a new tool which would be fused into a production pipeline. Sure you can spend time doing some official due diligence (e.g., Unity vs UDK) but once you cross the chasm you are in! No turning back!

One of the key considerations that I had to consider was selecting a game engine from a company that had the technological savvy to keep up with hardware and software enhancements from Apple. Yes! "keep up " with Apple. Lets face it… Thats the game!! If you are a registered apple developer you know changes are imminent. I made the decision to select Unity and purchase an iOS Professional license because I envisioned them as being that technology savvy company that could keep pace with:

  1. Changes in Mobile Hardware Platforms (chipsets[CPU/GPU], integrated cameras, etc)
  2. Modification of existing APIs
  3. Release of new APIs (layers of abstraction)

I would like to emphasize that this is from the perspective of a small indie studio whose goal was to invest in a “professional” version of an iOS gaming engine as opposed to a “freebie” version. You can even take it a step further in that we wanted the “creme del a creme”. We knew that if wanted the best we would have to sacrifice more resources above and beyond Unity’s iOS basic platform which allows for an inexpensive entry point. We envisioned a “professional” version of a gaming engine where a new indie studio would be guaranteed to have the continuously strategic and crucial enhancements from Apple’s iOS that would enable the utmost levels of creativity. A “professional” version of a gaming engine backed by a company that would exploit and take advantage of all what Apple has to offer. Hence, the name “Unity iOS Pro … not “Mobile Pro” … not “Console Pro”… not “PSP Vita Pro” … not “Android Pro” but iOS Pro.
.
It has been almost 15 month since Apple introduced the CVOpenglESTextureCache API in iOS 5 at WWDC 2011. Could you imagine an API that allowed for a boost in FPS of real time video streaming anywhere from 10 - 25 %?? This new layer of abstraction was extremely important for developers needing the best performance (FPS) for the real time processing of video data. But the original intent of this goes beyond processing video frames from the camera. The ability to perform advanced post processing on any video data source (camera, local file, streaming, etc) provides a lot of flexibility, creativity and innovation for developers. Imagine being able to stream multimedia into virtual worlds and gaming environments while maintaining acceptable frame rates!!

Apple made a big statement at WWDC 2011 for mobile rendering by embracing the programmable pipleine (Opengl ES 2.0). The message was clear… “If you want to take advantage of these new rendering enhancements its all about the programmable pipeline.” Apple recognized the importance of developers wanting to do innovative and distinct things with the rendering pipleine (They even brought Core Image to iOS). But they realized “intent” wasn’t the only part of the recipe. They incorporated CVOpenglESTextureCache API to give the developers that extra weapon of PERFORMANCE. A weapon which already existed on Mac OS. They realized that advanced post processing is great in concept but you need something to boost performance simultaneously to keep the end users happy. You can give a developer all the profiling tools in the World… but who wants to profile a platform that is intrinsically slow??

Where is CVOpenglESTextureCache API for iOS Pro??? And I am going to keep on emphasizing “PRO” because that is what “PRO” is suppose to be. A professional version of a gaming engine that should be tactically durable enough to keep up with Apple …Over a 15 month period!

Have the benefits that are provided by Apple’s Multimedia iOS enhancements taken a back seat to the quest for AAA Visual Fidelity, Orgasmic Realism, Breath Taking Eye Exhilarating Ultimate Real Detail. Yes, I have my own motives for wanting Multimedia enhancements introduced almost 15 months ago. But these enhancements are fundamental to iOS 5 and future releases of Mobile iOS from Apple!! These enhancements released by Apple are a foundation that will be used for future enhancements… Technology Chaining!!

Our small studio is not trying to compete against Electronic Arts, Gameloft, or SCEA. We do not have a budget for games with characters who have as many triangles as Avogadro’s number (6.0221415E23) … nor do we want to render a scene where the tears dripping from a beautiful ladys face are impacted by god rays and manipulated by Fresnel refractions… nor do we want to spend a year and half (yes thats right … 1.5 years on a cut scene from Gods of War). We selected iOS Pro out of David Helgason’s vision of the “Democracy” of the Gaming industry. Does this “democracy” not provide for the updating of strategic and crucial APIs by Apple in a “professional” version of a gaming engine. Features that could give a smaller studio an edge based on creativity rather than a $60 Million dollar budget.

Oh… and please notice how I am referring to Multimedia. The introduction of the CVOpenglESTextureCache API was a good catalyst to provide support for video textures in iOS Pro. Where is the built in feature of video textures with SYNCHRONIZATION of Audio? Is it not relevant because its not a “AAA gaming studio” feature. We are now at iOS 6 and Apple has added APIs for Audio Synchronization. Has the quest for realism put the world of Multimedia in some black hole. On the Unity Web Page its advertised Unity is advertised as the “Worlds Leading Audio Engine”. Has Multimedia become some step child to the euphoria of Visual Fidelity and Realism. Is it possible that Unity’s dedicated Audio technology staff can work with Unity’s Rendering Engineering experts and exploit iOS 5 and iOS 6 to provide an innovative state of the art solution for iOS Professional Licensees that have invested thousands of dollars? Can you devise a solution beneficial for the small indies or single man/woman companies that paid thousands of dollars so that we cans stay versatile, competitive, and creative? As an a professional licensee of iOS pro I do not want to have to depend on another package from the Asset store for something so fundamental and strategic released by Apple.

If Unity’s leadership teams wants to extend these Multimedia Enhancements to iOS Basic that ok by me … But for iOS professional licensee holders I think its about time the money we invested bring these features to fruition.

Again, our decision to purchase iOS Pro was based on choosing a company with extreme technology savvy to keep pace with Apple’s continuous and strategic changes to the iOS Mobile platforms. We are not interested in debating about UDK 4.0/5.0/6.0 or CryEngine X.X… Nor do we want to dialogue about Opengl ES 3.0. Why dialogue about future technology when thousands of dollars invested in iOS Pro does not support fundamental Apple iOS 5 enhancements today? Why use a Mobile Profiling Tool when we are profiling older and inferior technology (i.e, Multimedia APIs from iOS 4 and below)? We only want to see a commitment in the support of iOS 5 features that will give an Indie studio an extra edge …or AKA … a “Democratic Edge”.

Some questions to consider or debate?

  1. Has there been any technical due diligence of the CVOpenglESTextureCache API performed by Unity for iOS Pro?
  2. Is there any data from simulations that the CTO from Unity or technical staff can share with existing licensees of iOS Pro as it pertains to the CVOpenglESTextureCache API? Has this feature already been tested?
  3. Are these features on a roadmap (CVOpenglESTextureCache API, Mutimedia, Video Textures) for iOS Pro?
  4. Is there a process of technical due diligence of reviewing new APIs from Apple as it pertains to the rendering engine for iOS Pro?
  5. Is the version that we bought of iOS Pro really just Mobile Pro … or iOS/Android Pro? My point is that has there been a decision made that if the Android OS does not support these enhancements (hence a common denominator of features) or a similar layer of abstraction that its simply not worthwhile to do. So in essence, as iOS Pro licensees we are glued to the hips or wearing what appears to be golden handcuffs with the rendering engine of Android Pro.

For those registered iOS developer on the forum that are interested in this topic and want to perform your own technical due diligence or see the technical merits of these APIs from Apple’s perspective I have provided the links below for you to review at your earliest convenience.
WWDC11 - Videos - Apple Developer

API enhancements and performance improvements[/I]

Summary: Highlights all of the benefits of CVOpenglESTextureCache
WWDC12 - Videos - Apple Developer
Simon Goldrei, Media Systems

***********************************

Have you considered that the Unity engine is a single static library thats used to target iOS 3+ when writting all this bolded text where you repeated ‘iOS5’ several dozen times or did you forget it over the rage?

I would love this to be supported but at least for the time being I don’t want to drop support for iOS 4.3 (I don’t give a damn about ARMV6, so thats the min I target) as Apple fucked up the performance for older generations on iOS5, so I don’t see an immediate gain on that front as I would get an absolutely inconsistent behavior