[Interest] Future of Qt with Ios

Till Oliver Knoll till.oliver.knoll at gmail.com
Fri Sep 12 09:38:19 CEST 2014


Am 12.09.2014 um 02:10 schrieb Karl Loveridge <KLoveridge at eatsleepplay.biz>:

> ... can’t find anything. Is Qt planning on supporting Metal (which is Apple’s new OpenGL replacement—which is 10x faster than OpenGL)—which is exclusively Apple. 
> 

First off all, Metal is "up to 10x faster", not "10x faster". A PR statement by Apple which seems to be backed up by some big game engine companies to some degree. Probably compared to the OpenGL ES 3 implementation done by Apple itself.

Second, it is much more exclusive than you think: it's (still) exclusive to the A8 chip, so no support in current iPhone and iPads. Yes, off course Apple's product offering is going to likely change that over time. No, the adoption rate of the A8 won't happen that quickly among users. Maybe in two years a "significant amount" of iPhone users will have an A8 and above, iPad users might take even longer!

I for one am typing those lines on an iPhone 3GS and am still sticking to the original Retina iPad. The later won't change anytime soon, the former might get replaced by a used iPhone 5S - or maybe next year by an (unlikely) 4" iPhone 6S (the current 4.7" is just not for me).

Third, no serious game developer will drop OpenGL support on the mobile platform! Heck, even Linux "Steam" boxes stirred up the 3D game market and OpenGL is becoming even more popular! Apple knows that. They maybe won't put more love into their OpenGL ES 3 implementation, but sure they would never drop it!

Fourth, Metal is really aimed at game engines, which have folks behind them being paid for getting the maximum performance out of them. So either a game company (writting actual games) will use one of those game engines (how many? Half a dozen major game engines?) like Unity or CryEngine or whatnot - or they will be using DirectX or OpenGL. But no one is going to use yet another 3D API like Metal in their own code and restrict themselves to an A8 processor! We've been there in the 80ies, it was called "DOS - write your own graphics- and sound-card driver!".

I am fairly confident that even that "Mega Evil Corp" guys showing their (yes, impressive) game demo at Apple's keynote did not write a single line of Metal code. Instead they were using some of the major game engines (and yes, maybe providing some custom Metal shaders, who knows).


So where comes Qt into the play? Is it a game engine? No. Could it benefit to accelerate certain QML effects with Metal and get better performance than with OpenGL on the A8? Who knows. Would it be totally out of the question to provide yet another "platform abstraction using Metal"? (*) Probably not. Would we gain much performance  to implement certain "paint operations" for Qt when using Metal over OpenGL ES? Yes, some paint operation would maybe benefit to some degree, but my bet would be that the overall performance gain would be hardly noticeable.



So what would /your/ expectations be when you ask "does or will Qt support Metal"? Are you asking for an own (platform-specific) QMetalWindow, QMetalContext to provide your own 3D code written in Metal (either in Swift or Objective-C++ code, linked to your C++ code)? A Qt Metal API wrapper. Do you see areas where you'd expect substantial potential to improve Qt's own performance?

What are your expectations when you say "will Qt support Metal"?

Cheers,
  Oliver




(*) I am /not/ involved nor deeply familiar with the internal Qt architecture
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140912/5c4d1bec/attachment.html>


More information about the Interest mailing list