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

Reply via email to