Quartz Extreme - A software solution to a hardware problem.

Posted:
in macOS edited January 2014
I've always been fascinated by software's ability to make up for weak hardware.



Optimizing your code can make things run much faster than you thought possible. Sub-par hardware can perform better with well-written software than superior hardware with mediocre software.



Quartz Extreme sounds like it will be an example of this.



The frontside bus, right now, is the limitation in the high end macs, and is also what keeps Mac OS X slow. This is no more clearly demonstrated than by comparing the performance of the 66Mhz bus iBooks to the performance of the 100Mhz bus iBooks. The limiting frontside bus is also the reason Apple's sticking large L3 caches on the faster G4 processors. The big cache means less data needs to be passed through the bus, which provides a great performance boost.



Bypassing the frontside bus is also the reason Quartz Extreme is being developed. Quite simply, much less data needs to go through the frontside bus if all those fancy quartz windows, shadows, and transparencies are being pumped down the AGP bus, not only is processor load taken off of the CPU by having the GPU render that stuff, but it also takes a load off of the frontside bus, leaving room for more important stuff to be sent through it.



In theory, that should allow a Dual Ghz PowerMac running Jaguar to perform better than the same Mac running OS 9 because of the extra bandwidth available in the frontside bus.



Anyway, I just thought I'd type that up, because I was fascinated by how clever it is for Apple to be doing this.



Also, if the rumors of the ddr frontside busses in the July PowerMacs are true, that, combined with Quartz Extreme, will make for some insanely fast PowerMacs that once again show the potential of the G4 processor.
«13

Comments

  • Reply 1 of 59
    spotbugspotbug Posts: 361member
    [quote]Originally posted by rogue27:

    <strong>In theory, that should allow a Dual Ghz PowerMac running Jaguar to perform better than the same Mac running OS 9 because of the extra bandwidth available in the frontside bus.</strong><hr></blockquote>



    I may be missing something. Wouldn't the same machine running 9 have all that extra bandwith as well, simply by not having Quartz and Aqua in the first place?



    Uh, oh. This post sounds like I'm bashing X in favor of 9. Don't want to start down that road. I've switched to X nearly completely (I boot 9 maybe once per 8-hour day). X rocks, 9 sucks. Can't wait for Jaguar and QE.
  • Reply 2 of 59
    serranoserrano Posts: 1,806member
    it really is amazing what you can squeeze out of hardware once you know how to exploit it - check out the latest generation ps1 games...
  • Reply 4 of 59
    paulpaul Posts: 5,278member
    wqhat machine are they using in the video?
  • Reply 5 of 59
    rogue27rogue27 Posts: 607member
    [quote]Originally posted by spotbug:

    <strong>



    I may be missing something. Wouldn't the same machine running 9 have all that extra bandwith as well, simply by not having Quartz and Aqua in the first place?



    Uh, oh. This post sounds like I'm bashing X in favor of 9. Don't want to start down that road. I've switched to X nearly completely (I boot 9 maybe once per 8-hour day). X rocks, 9 sucks. Can't wait for Jaguar and QE.</strong><hr></blockquote>



    Aha! But OS 9 is still doing things the old fashioned way. It's 2D interface isn't as much of a bottleneck because it is much less graphic intensive so it's bandwidth usage is much smaller, but it still uses more FSB bandwidth than Quartz Extreme will.



    Anyway, I'm still amused that Apple was able to pull this off. I mean, here they are, with a frontside bus being stressed to the max, while this fast AGP bus is sitting there going mostly unused, and they find a way to send a bunch of junk that way instead of pumping it through the FSB all day long. pretty darn impressive that they can do this, and I think stuff like this is the reason Apple does like to stick with a similar motherboard architecture across all lines... so they can do things like this.



    I think it will work better with nVidia cards than ATI cards though, because of how the two cards handle textures.



    [ 05-24-2002: Message edited by: rogue27 ]</p>
  • Reply 6 of 59
    sc_marktsc_markt Posts: 1,402member
    Lets see, we could have DDR with 1.4GHz G4's AND QE by summer. Sounds good to me...
  • Reply 7 of 59
    junkyard dawgjunkyard dawg Posts: 2,801member
    With all the *****ing about QE, and how Apple intentionally dropped support for less powerful video cards to force people to upgrade their hardware, I think what is lost in the discussion is an appreciation for how impressive an achievement QE actually is.



    Remember that at AI, xlr8yourmac, and several other forums, the consensus among programmers and those with technical expertise was that GPU acceleration of Quartz was impossible to do with current technology. Everyone agreed that it could not be done.



    Now Apple's programmers have done the impossible and is there an eruption of praise on the internet? No, instead people whine because Apple could only accomplish GPU acceleration of Quartz using high end Video chipsets. While previously, Apple was stupid to use Quartz because it is too far ahead of video card tech, and impossible to offload to video cards, now Apple is stupid because they've INTENTIONALLY used only high end GPUs to accelerate Quartz. Now it's possible to use an old Rage pro video chipset with 8 MB vRAM to accelerate Quartz, but out of greediness and mean spiritedness, Apple chooses not to.



    This thread comes as a relief amid such whining. Thanks for pointing out how amazingly cool it is that Apple found a way to dump Quartz onto the video card, freeing upt he CPU to do other tasks. This goes to prove how incredibly talented those who brought us OS X are. Apple is sure to continue to dazzle us with such clever programming.
  • Reply 8 of 59
    murkmurk Posts: 935member
    Sometimes limitations and hurdles can be a good thing. It can make you think, as Steve likes to say, outside the box. QE may have been created to help Apple with its current problems with processor and bus speed. I'm willing to bet, however, it will also pay off even more when G5's and future generations of GPU's ship. At MacNN, Moki hinted that it might be possible to do even more with it.



    [quote] moki at MacNN:

    The other thing is that Quartz Extreme isn't a static thing; I wager that more things can and will be offloaded to the video card in the future (such as interface element drawing). I don't know if that is true or not, but it makes sense that it will happen eventually. <hr></blockquote>
  • Reply 9 of 59
    rogue27rogue27 Posts: 607member
    The thing about the whiners is that they don't know enough about how it all works to know any better, so they just accuse apple of being greedy. They also don't know enough to understand how complex and brilliant it is of Apple to have done this.



    All they hear is "more speed! speed only for those who have faster video cards!", but despite the performance boost QE will bring, I see it more like efficiency. Dividing the workload if there is a GPU capable of handling some of it.



    While we're talking about whiners, it's really quite ridiculous to accuse Apple of trying to force you to upgrade by making QE only run on faster video cards.



    Technically, the older cards don't have specific abilities that are required. It's not the speed of the cards, it's their abilities, their programmability, their ability to handle textures of certain sizes. These are video technology advances that did not exist in the rage128 generation.



    From a marketing standpoint, every mac out there is an advertisement for Apple. It is in Apple's best interests for all those iBooks floating around to be as fast as possible, because they don't want people to see an iBook and say "wow, that sure is slow". They want people to see an iBook and like it, be glad to hear that the new ones are faster, and eventually buy one They also want them to be fast because they want current Mac users to also be future Mac users and buy more Macs in the future.



    Apple tries to sell new computers by innovating and adding new features, (and speed), not by intentionally making your hardware obsolete. Nobody complained when only newer computers could use AirPort, so why complain when your computer doesn't support Quartz Extreme? Because AirPort is more tangible to them. It is a specific piece of hardware in new computers, while QE is software that works on a chip most people don't know much about except that it makes graphics on the screen.



    Anyway, when Jaguar ships, it will work on every new Mac sold within the last 4.5 years and some even older than that. Windows XP cannot even try to claim the same thing.
  • Reply 10 of 59
    buonrottobuonrotto Posts: 6,368member
    That's a good way of putting it. QE is a more efficient system, not a faster one per se.



    You're going to get an earful from some people about that last comment though. Since OS X doesn't use early ATI Rage chip drivers, a lot of people consider OS X unsupported on their Mac.
  • Reply 11 of 59
    rogue27rogue27 Posts: 607member
    [quote]The other thing is that Quartz Extreme isn't a static thing; I wager that more things can and will be offloaded to the video card in the future (such as interface element drawing). I don't know if that is true or not, but it makes sense that it will happen eventually.<hr></blockquote>



    Like that upcoming nVidia card based on a new architecture which they think will greatly increase their market share on the mac, for example.
  • Reply 12 of 59
    jimmacjimmac Posts: 11,898member
    About this support business. There are computers Apple made just a little over 3 years ago that people paid good money for that won't even support OS X itself.



    My old 6500 was purchased in Aug. of 98. I sold it to my friend in 2000 because I wanted a G4 and I knew it wouldn't support X.



    My point is you'll always run into this problem. Some day my G4 won't always support the latest Mac OS. Probably sooner than I'd like but, that's life in the computer world. I've accepted it.



    By the way my old 6500 was more expensive than a lot of those imacs out there.



    [ 05-25-2002: Message edited by: jimmac ]</p>
  • Reply 13 of 59
    applenutapplenut Posts: 5,768member
    [quote]Originally posted by jimmac:

    <strong>About this support business. There are computers Apple made just a little over 3 years ago that people paid good money for that won't even support OS X itself.



    My old 6500 was purchased in Aug. of 98. I sold it to my friend in 2000 because I wanted a G4 and I knew it wouldn't support X.



    My point is you'll always run into this problem. Some day my G4 won't always support the latest Mac OS. Probably sooner than I'd like but, that's life in the computer world. I've accepted it.



    By the way my old 6500 was more expensive than a lot of those imacs out there.



    [ 05-25-2002: Message edited by: jimmac ]</strong><hr></blockquote>





    yes but selling hardware while working on OS X and knowing damn well that hardware will not meet most of the requirements is pretty sad.



    I'm not sure it it's just Apple not caring or Apple just being cheap. There's no reason the iBooks couldn't have had radeons a while ago. same with the powerbook.



    so what if it's the same chip in a consumer and pro product. the iMac and PowerMac shared rage 128s for a long time. they differed by the amount of memory
  • Reply 14 of 59
    jimmacjimmac Posts: 11,898member
    Yes, I'll have agree with you there. My G4 450 came with a 128 pro and the Radeon I stuck in there made a hell of a lot of difference. Even if the card didn't exist at the time I purchased the computer ( for the money ) it should have had that level of card from the start.



    Apple's taken a long time getting it's hardware act together.



    Also I think OS X is taking longer to iron out than Apple expected. Maybe they shouldn't have posted such closely defined specs.



    [ 05-25-2002: Message edited by: jimmac ]</p>
  • Reply 15 of 59
    airslufairsluf Posts: 1,861member
  • Reply 16 of 59
    jethrojethro Posts: 34member
    [quote]Originally posted by rogue27:

    <strong>

    but [OS 9] still uses more FSB bandwidth than Quartz Extreme will.

    </strong><hr></blockquote>



    I think you're confused. The FSB or front side bus is the connection between the processor(s) and memory. One of the things that makes OS X seem slow right now is that the processor has to do all of the compositing, which takes away from work that it might otherwise be doing, and also uses some of the bandwidth available between the processor and your memory. OS 9 has a relatively simple drawing architecture and doesn't have to composite things.



    <strong> [quote]

    Anyway, I'm still amused that Apple was able to pull this off. I mean, here they are, with a frontside bus being stressed to the max, while this fast AGP bus is sitting there going mostly unused, and they find a way to send a bunch of junk that way instead of pumping it through the FSB all day long.

    </strong><hr></blockquote>



    The G4 is still constrained with its 133 MHz bus, and two processors sharing the same bandwidth doesn't help. I suspect that the processor workload of the compositing was more at issue than the bandwidth used to do it. QE will make things smoother, but not necessarily faster except in the case where you were computationally challenged before.



    <strong> [quote]

    I think it will work better with nVidia cards than ATI cards though, because of how the two cards handle textures.

    </strong><hr></blockquote>



    I can't think of anything that would make a huge difference for QE.
  • Reply 17 of 59
    rogue27rogue27 Posts: 607member
    [quote]Originally posted by jimmac:

    <strong>About this support business. There are computers Apple made just a little over 3 years ago that people paid good money for that won't even support OS X itself.



    My old 6500 was purchased in Aug. of 98. I sold it to my friend in 2000 because I wanted a G4 and I knew it wouldn't support X.



    My point is you'll always run into this problem. Some day my G4 won't always support the latest Mac OS. Probably sooner than I'd like but, that's life in the computer world. I've accepted it.



    By the way my old 6500 was more expensive than a lot of those imacs out there.



    [ 05-25-2002: Message edited by: jimmac ]</strong><hr></blockquote>





    I'm sorry, but the 6500 was End-of-Lifed by then. The Beige G3 came out in fall 1997 and by the end of the year they stopped selling all other PowerMacs, at least at the Apple Store. Following that, they released the first "real" G3 PowerBooks at MWSF.



    Anything you bought from that point on without a G3 was end-of-lifed old stock that some retailer couldn't manage to push off their shelves fast enough.



    [quote]I think you're confused. The FSB or front side bus is the connection between the processor(s) and memory. One of the things that makes OS X seem slow right now is that the processor has to do all of the compositing, which takes away from work that it might otherwise be doing, and also uses some of the bandwidth available between the processor and your memory.<hr></blockquote>



    Yes, I know that. I also know that the AGP bus is the bus between the video card and memory. Right now, the CPU has to be sent all the image (window) data, and calculate all of the transparencies and drop shadows and stuff and then composite it and have the image drawn onto the screen.





    [quote]OS 9 has a relatively simple drawing architecture and doesn't have to composite things.<hr></blockquote>



    Oh yeah, I forgot, in OS 9, everything magically appears on the screen with no work from the processor whatsoever! Or maybe the processor does do some work but since there are no transparencies, everything isn't anti-aliased, and the dro shadows are simpler, it could just be that the processor's workload is much simpler and the window data sent to the processor is much simpler.



    How 2D acceleration works in OS 9 is that the CPU, by default, does everything. Then if you have a video accelerator, it's drivers tell the CPU which tasks it can do. So if the processor gets a bunch of drawing instructions, it will check and might say, "Oh, the video card says it knows how to do this, let's have the video card do that, and we'll work on the next thing that comes along", so it's more of a case by case basis and the processor is still fed all of the data at some point.





    [quote]The G4 is still constrained with its 133 MHz bus, and two processors sharing the same bandwidth doesn't help. I suspect that the processor workload of the compositing was more at issue than the bandwidth used to do it. QE will make things smoother, but not necessarily faster except in the case where you were computationally challenged before.<hr></blockquote>



    Yes, but I am saying it will be less constrained by the bus now. Anyway, the processor workload of the compositing isn't that big of a deal. It can't be constraining a Dual 1Ghz G4 processor if it runs well on my 400Mhz G3 laptop. The only time the compositing is that much work anyway is when you are using the genie effect or sliding windows around, but it's not so much of an issue when you're doing real work, except when it's photoshop and the graphics content of a window is being constantly updated with a bunch of complex calculations.



    Also, most computationally challenging stuff is a tight loop that is small enough to run inside the processor cache, so bus bandwidth isn't too much of an issue. RC5, for example, shows off how incredibly fast the G4s really are. It's a bunch of smaller things that choke the bus because all the windows that change need their memory buffer sent to the processor and modified and re-calculated, and that takes a good chunk out of the bus bandwidth. I mean, we're talking 2 billion clock cycles per second to work with here, and there's less than 2 million pixels on a 1600x1200 screen so window drawing can not be using up all that power. The processor and bus will both benefit, but with the bus being more of a constraint on a machine like that, the bus will benefit more.



    [quote]I can't think of anything that would make a huge difference for QE. <hr></blockquote>



    Well, with an ATI card, textures are still passed through the processor. nVidia cards will pull textures from memory when it needs them without the processor needing to do anything. That will make a difference.



    [ 05-26-2002: Message edited by: rogue27 ]</p>
  • Reply 18 of 59
    programmerprogrammer Posts: 3,467member
    There is no appreciable difference between the Radeon and geForce from a texture handling point-of-view -- both cards can read AGP textures directly out of system memory without intervention of the processor.



    Everybody seems to be missing the boat here... a graphics processor is designed to process graphics, and only graphics. It has hugely wide execution units and memory interfaces. It is pipelined very deeply. Its programming is either hardwired, or very carefully constrained to allow massively parallel implementation. It is built to work on pixels and vertices from the ground up. It is tightly coupled to its dedicated memory. All of this gives it a tremendous advantage in processing graphics that even the G4's vaunted AltiVec unit cannot compare to. These days it simply isn't possible to write a software graphics rasterizer that is even remotely close to the performance of a modern GPU. Quartz Extreme will be faster at graphics because the GPU is faster at graphics. It will make the machine faster because now the CPU doesn't need to waste its time doing something its not very good at.



    The big bottleneck will be the transfer across the AGP bus, but at least the CPU won't need to be sitting waiting for that to happen anymore (and the graphics processor is designed not to stall badly on such activity). The more buffer rasterizing they can make the GPU do, the better. The more content they can upload to the card's VRAM, the better (hence the 32 MByte recommendation).





    Incidentally, I don't know who you've been listening to, but I have maintained from day 1 that Quartz should have been built atop OpenGL. Some of the decisions they made about its capabilities mean that buffer content will need to be CPU rendered (at least in the near-term), but the compositing layer has always been a prime candidate for GPU acceleration. I've very happy to see that they have finally gotten around to it!
  • Reply 19 of 59
    gambitgambit Posts: 475member
    A couple of things:



    First of all, I'd like to thank you guys and tell you that this thread right here is a breath of fresh air. Intelligent people making intelligent comments posting intelligent thoughts and getting intelligent replies. *sigh* This thread has brought a tear to my eye and hope to my heart.



    heh



    Second, I would just like to point out that Apple is one company with many different divisions that don't often speak with each other well. Just as it is in any company, I bet the marketing department and the engineers have had more than one run in with each other when it came to MacOS X these last few years. For instance, Steve Jobs is a marketer. He sells things and he sells things well. I would go as so far to say he is a marketer's dream! He knows how to soup people up and get them excited about everything he talks about. I'm sure the original plan, as Steve stated during his keynote, was complete support for all G3s, and the way he sold the idea, indicated that he meant support of everything G3...... which I'm sure the made the engineers cringe. The difference between a marketer and an engineer is very much their attitudes with what can and can't be done and the time frame for making things possible; engineers are pessimistic while marketers are optimistic. Sometimes during the selling, the marketer may say something that is originally planned, but ultimately not possible. I believe that may have happened with many things in MacOS X but I don't believe Apple has done it to piss people off.



    Some things, as we know, just aren't possible.





    Just thought I'd ramble a bit.
  • Reply 20 of 59
    One important thing to remember when talking about data xfer across the the various busses is that the data may not change all that much and may not need to be xfered all that much. The contents of most windows is largely static. It could be sent once and held in whatever buffer the card uses. Then updated as needed.
Sign In or Register to comment.