• 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: Quartz blitter/hardware support?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quartz blitter/hardware support?


  • Subject: Re: Quartz blitter/hardware support?
  • From: Allan Odgaard <email@hidden>
  • Date: Wed, 26 Jun 2002 18:31:19 +0200

On onsdag, juni 26, 2002, at 04:49 , Shawn Erickson wrote:

Still, when my window grows to more than 10% of the screen size (give a take some pixels) then scrolling can no longer happen in real time (that is, follow the screens refresh rate) -- even when I only do a NSFillRect(aRect) in my drawRect method (to fill the newly visible pixels).
[snip]
If Quartz does indeed use the blitter for these simple operations then a) what exactly will the Extreme version provide? and b) why on earth is Quartz so sloooow? (okay, the latter has been debated to death on this list IIRC, but that was for drawing bezier curves etc., not just a simple scroll function).

What system with what video adapter? What is the size of the image data?

A 733 MHz G4 with a GeForce II and 384 MB RAM.

The default size of the NSScrollView in question is 450x320 pixels (and it's the only element in the window). But at this size it can just manage the 60 updates pr. second (scrolling), though make it twice as high or wide, and it starts to skip frames (I have a method which just calls scrollToPoint 60 times pr. second).

The resolution I'm running is 1600x1024 @ 60 Hz.

I can put this sample application online if anyone is interested!

Have you used the Quartz debug tool to better understand what is getting redrawn while scrolling? (use the flash screen updates feature).

As said, the slowness show even if my drawRect method just fill the background. But I tried Quartz debug, and it first flash the rectangle that gets scrolled, and then the new pixels (both flash only once) -- so nothing wrong here...

If you want to known more about QE and/or how to optimize Quartz drawing a few WWDC sessions covered this topic. You can get them online at ADC (you may have to purchase them but...).

A shame that Apple doesn't give info away for free about how to make their system run faster, cause it's badly needed! :-(

However, I'd say that it's not me/us, but rather Apple that needs education about how to optimize a graphics system... what I do in the example application consists of one single FillRect, everything else is done by Cocoa...

What a shame that my 10 year old Amiga outperforms my high-end Mac in so many aspects -- even the fastest graphical web browser for Mac OS X is noticeable slower than what I use on my 40 MHz Amiga, both parsing, layout, rendering and scrolling, and it *does* conform to HTML 4 and the Amiga actually has a very Objective-C inspired run-time binding used for the GUI system, so it's not even the flexibility of this that can excuse the Mac...
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
  • Follow-Ups:
    • [OT] Re(2): Quartz blitter/hardware support?
      • From: Jens Bauer <email@hidden>
References: 
 >Re: Quartz blitter/hardware support? (From: Shawn Erickson <email@hidden>)

  • Prev by Date: Re: exchangeObjectAtIndex (was NSMutableArray: where is addObjectIfAbsent:?)
  • Next by Date: Re: Quartz blitter/hardware support?
  • Previous by thread: Re: Quartz blitter/hardware support?
  • Next by thread: [OT] Re(2): Quartz blitter/hardware support?
  • Index(es):
    • Date
    • Thread