Am 12.09.2014 um 02:10 schrieb Karl Loveridge <kloveri...@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
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest