• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Extremely low fps during transparent NSWindow resize
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Extremely low fps during transparent NSWindow resize


  • Subject: Re: Extremely low fps during transparent NSWindow resize
  • From: Ken Thomases <email@hidden>
  • Date: Mon, 05 Nov 2012 20:07:02 -0600

On Nov 5, 2012, at 5:39 PM, Kyle Sluder wrote:

> On Mon, Nov 5, 2012, at 02:20 PM, Andrea3000 wrote:
>> Since I still have a Snow Leopard partition I have access to QuartDebug
>> 4.1 and the hidden setting you suggested works as expected.
>> The strange thing is that while regular windows like Safari, Mail, ecc,
>> are all opaque except for the corners (as pointed out in the previous
>> mail), Quick Time Player X window is fully transparent!
>>
>> So the question is still open. How can Quick Time Player X be so fast
>> during resize if it is an all transparent window?
>
> What if you take a hint from what Quartz Debug is telling you about
> standard system windows, and instead of using an NSBezierPath (which you
> are currently redrawing in its entirety on every frame of a drag), you
> fill your window using three large rectangles and four half-arcs?

It's worth trying, but I don't think that's what is meant when Quartz Debug says a region of a window is transparent.  It has nothing to do with how it's been drawn.  It has to do with what the window server has been told about which parts of the window are non-opaque.  -[NSWindow setOpaque:NO] tells the window server that no part of the window is opaque, so it has to composite the whole window, even if, in reality, most of the window is filled with opaque color.

This issue can be reproduced with a bog-standard Cocoa app.  Just add [window setOpaque:NO] to the -applicationDidFinishLaunching: method in a standard app template and you get the problem.  This is without any drawing (other than the window's own background color, which I'm leaving at the default) by any views.

I suspect that QuickTime Player X is using private interfaces to tell the window server that specific window regions (the four corners) are non-opaque.

Regards,
Ken


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Extremely low fps during transparent NSWindow resize
      • From: Andrea3000 <email@hidden>
References: 
 >Re: Extremely low fps during transparent NSWindow resize (From: Lee Ann Rucker <email@hidden>)
 >Re: Extremely low fps during transparent NSWindow resize (From: Andrea3000 <email@hidden>)
 >Re: Extremely low fps during transparent NSWindow resize (From: Kyle Sluder <email@hidden>)

  • Prev by Date: Re: Sorting NSTableView using Bindings
  • Next by Date: Re: Sorting NSTableView using Bindings
  • Previous by thread: Re: Extremely low fps during transparent NSWindow resize
  • Next by thread: Re: Extremely low fps during transparent NSWindow resize
  • Index(es):
    • Date
    • Thread