Hi Chris

Thanks so much for the prompt reply .

Ive noticed some interesting things in terms of chaining multiple ‘QCImage’ 
backing causing issues.

My chaining terminology refers to :

rendering a QCRenderer or providing an appropriate image type (CIImage 
CVOpenGLTextureRef, etc), rendering said renderer at time, getting the 
valueForOutputKey:key ofType:@“QCImage” and setting that to the 
valueForInputKey: of the next QCRenderer in the chain.

all renderers use the same GL context, save for one, which uses a shared GL 
context / and an attached drawable to view the results.

--

if I chain a series of QCCompositions/Renderers which use pure CIImage filters, 
as provided by the OS, and no other processing I have no problem.

if I chain a series of QCCompositions/Renderers which use plugins which vend 
textures as QCOutputImageProviders in series, I have no problem.

If I chain a mix of the above, I have a problem.

if I load a *single* QC Composition/Renderer which has a custom plugin, and 
within that composition that plugin is fed, or feeds, a custom CIKernel, I have 
the problem.

This is on 

MacBook Pro (Retina, 15-inch, Mid 2014)

NVIDIA GeForce GT 750M 2048 MB

10.11.2 (15C50)

About to use GFXCardStatus to see if the pixel format swizzling as you pointed 
out is a GPU or something else issue.

Thanks again for the quick reply. Right now my reproduction case is admittedly 
complex - I’m going to see if I cant boil it down some more.




> On Feb 1, 2016, at 1:29 PM, Chris Wright <christopher_wri...@apple.com> wrote:
> 
> Looks like that _might_ be due to a CoreImage change (note a few frames down, 
> it’s doing a ABGR8 -> ARGB8 conversion, which possibly implies a request for 
> a pixel format that isn’t what the GPU’s currently using).  I only say CI 
> because QC’s use of pixel formats hasn’t meaningfully changed in quite a 
> while, so this would be a surprising behavior change for QC.  
> 
> Do you happen to have configuration info, or if this behaves similarly on 
> other families of GPUs?  It looks like you’re on some family of GeForce 
> (nvidia), so Intel or AMD behavior might be helpful if it’s a quirk below QC.
> 
> Can you please file a radar for this?  It may well affect several other 
> things negatively.
> 
> 
>> On Feb 1, 2016, at 9:38 AM, Anton Marini <dokt...@mac.com> wrote:
>> 
>> Hi
>> 
>> My application uses the QCRenderer API to input and output images in the 
>> opaque QCImage format and send them through a chain of published input and 
>> output images in QCCompositions/Renderers I control.
>> 
>> Ive noticed in 10.11, performance seems worse. Looking into it, I’m noticing 
>> that *certain* configurations of Core Image filters and custom QC Plugins / 
>> output images vended as QCImages cause read back to occur on the CPU.
>> 
>> Ive tried to account for various different causes - like pixel format 
>> issues, color space issues, etc, but I cannot get rid of the CPU read back, 
>> which I am 99.999% positive didn’t happen in older Quartz Composer 
>> framework/API versions as older hardware got better frame rates - likely 
>> keeping things on the GPU where they belong™.
>> 
>> Has anyone else seen regressions in performance with QC?
>> 
>> Specifically, I am seeing stacks like the following (see attached image).
>> 
>> https://www.dropbox.com/s/s7sqn56gdcogxsj/PastedGraphic-1.png?dl=0
>> 
>> Any hints as to why there might be rendering path changes in QC or Core 
>> Image?
>> 
>> Thank you.
> 
> --
> Chris Wright
> christopher_wri...@apple.com
> 
> 
> 


 _______________________________________________
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