There seems to be some misunderstanding here that is worth clearing up.

> On Jun 23, 2015, at 12:16 AM, James Bush <theokn...@icloud.com> wrote:
> 
> Metal and OpenCL are micro-architecture programming languages; one cannot be 
> faster unless one provides more access to the hardware than the other.
> 
> A perfect example is provided by Quartz Composer, in that it uses a subset of 
> OpenGL (OpenGL ES)— not the full language. As a consequence, it is the 
> slowest fastest markup language that one could use for GPU programming. But, 
> for every function it shares with its parent, and and any similar functions 
> it shares with other languages using the same hardware, the speed is the same.

Quartz Composer is currently built upon OpenGL 2.0. OpenGL ES is a subset of 
OpenGL 3.0. To transition to 3.0, QC would probably gain some improvements, but 
it would also break quite a few compositions. I cannot say if or when QC might 
adopt GL 3.0 and the Core Profile, but the request is known. Any additional 
bugs would help management understand the demand, but just this once I'll 
recommend you don't spend too much time on such a bug since it will be quickly 
duped to the known request.

> 
> The distinction between Metal and OpenCL will never amount to anything more 
> significant and language design specifications. Metal is for game 
> programming; OpenCL is a generic, all-encompassing open-source language. You 
> can achieve the same thing with both, but it would take a lot of kludging 
> with Metal to make it do anything but what it was designed for—games. It is 
> Apple's answer to a similarly purposed language by Google, which is extremely 
> popular among Android developers.

The distinction between games and not-games seems off track here. As seen at 
WWDC, Adobe announced it is adopting Metal in their suite of apps—not games. An 
app like Quartz Composer which is not designed for making games would probably 
benefit from adopting Metal. OpenCL is still  used in games and non-game 
applications. I'm afraid I don't have enough experience with either OpenCL or 
Metal to know where they overlap but my understanding is that Metal is less 
about leveraging the GPU for parallel computation, and more about drawing 
efficiently.

> 
> So, as you can see, it's a left-field question to think of Quartz Composer 
> has a part in any of that. It's a graphics tool that belongs to a package of 
> many other such tools, and as useful as a pocket calculator. Small, fast, 
> convenient, essential—but you put it away once you've made your calculations, 
> right before you start building the real thing. 
> 
> 

I don't think it's misguided to ask how much QC and Metal can work together, 
and at this point the answer is very little. You'd have to avoid the drawing 
portions of the QC pipeline altogether. QC can pass IOSurfaceRefs to Core Image 
and other subsystems through CVPixelBuffer image types  
(https://developer.apple.com/library/ios/qa/qa1781/_index.html 
<https://developer.apple.com/library/ios/qa/qa1781/_index.html>) so it may be 
possible to leverage Metal somehow through custom plugins, but you would not be 
able to create a Metal context for use in QCView, QCRender, etc. I am 
tentatively going to say this would not be the recommended way to develop Metal 
apps, since the overhead of QC would probably eliminate any benefits of Metal. 
Other folks may have a more definitive answer.


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to