Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > macOS > OK, OS X scrolling. Apple, speed it up, please!

OK, OS X scrolling. Apple, speed it up, please!
Thread Tools
MindFad
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 02:41 AM
 
OK, I have sent feedback to Apple, so don't yell at me for it.

Does anyone know how Apple can possibly speed up scrolling? Indeed, Apple has definitely made a large jump in the scrolling area with Jaguar, but damn, Photoshop and browser scrolling still is nowhere close to what it was in OS 9 -- silky smooth, without a hitch. I just made the full switch to OS X, too. Bought a new HD and everything. I absolutely love it. I'm way more productive without the crashing, but it is irritating. And being on my friend's friggin' 500-MHz Celeron in Photoshop 5.0 with it scrolling faster than my Dual-800 does in OS X Photoshop pissed me off. I know Photoshop itself is many times faster than his puney Celeron, but damn.... What a bad case of scrolling envy. I hope Apple can speed stuff up just a bit more and make me a happy camper.

It's not terribly slow -- it's just not up to OS 9 standards, and I think Apple should meet those damn standards.

As if there aren't more important thing in life than stupid scrolling on my computer. Sorry for the rant.

And no flames or "quit whining" garbage -- I paid lots of money for my machine and my software, so I feel I have the right to whine just a smidgen.
     
Nonsuch
Professional Poster
Join Date: Jan 2001
Location: Riverside IL, USA
Status: Offline
Reply With Quote
Oct 2, 2002, 02:56 AM
 
Find out just what any people will quietly submit to and you have found out the exact measure of injustice and wrong which will be imposed upon them.

-- Frederick Douglass, 1857
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 03:09 AM
 
You got it.
     
Adam Betts
Addicted to MacNN
Join Date: Aug 2001
Location: North Hollywood, CA
Status: Offline
Reply With Quote
Oct 2, 2002, 04:09 AM
 
     
pliny
Mac Elite
Join Date: Apr 2001
Location: under about 12 feet of ash from Mt. Vesuvius
Status: Offline
Reply With Quote
Oct 2, 2002, 06:05 AM
 
Mindfad: couldn't agree with you more.

Those pictures posted above describe how I feel when I use X. The baby crying one is hilarious!
i look in your general direction
     
Cipher13
Registered User
Join Date: Apr 2000
Status: Offline
Reply With Quote
Oct 2, 2002, 07:08 AM
 
Yeah, it's painful.

Though, I must say, PhotoShop is a bad example - it is *horribly* slow under OSX.

Anybody who says PS in X is as fast or faster than 9 must have been stoned when they used it.
     
Millennium
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Oct 2, 2002, 07:19 AM
 
If I understand things correctly, a large part of the problem is that Quartz does not know how to draw only part of an image. Sure, it knows how to only display part of an image (or scrolling wouldn't be possible at all), but whenever you scroll, it has to internally redraw practically the entire thing. This is also problematic for resizing, and it gets worse depending on the size and complexity of the image (one of the problems with Web browsing).

I could be wrong, but that's the impression I've seen in the discussions I've been looking over on Apple's list. It's an architectural issue with Quartz. According to what I've heard it is fixable, but will take some serious work.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
Cipher13
Registered User
Join Date: Apr 2000
Status: Offline
Reply With Quote
Oct 2, 2002, 07:25 AM
 
Originally posted by Millennium:
If I understand things correctly, a large part of the problem is that Quartz does not know how to draw only part of an image. Sure, it knows how to only display part of an image (or scrolling wouldn't be possible at all), but whenever you scroll, it has to internally redraw practically the entire thing. This is also problematic for resizing, and it gets worse depending on the size and complexity of the image (one of the problems with Web browsing).

I could be wrong, but that's the impression I've seen in the discussions I've been looking over on Apple's list. It's an architectural issue with Quartz. According to what I've heard it is fixable, but will take some serious work.
A limitation which should never have been present... very sloppy.

A Z-buffering-esque technique would suffice, wouldn't it? Or not?
     
thePurpleGiant
Mac Elite
Join Date: May 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 07:34 AM
 
Oh yes, booted into OS 9 for the first time in over a year last week, and I love OS X to death, but the scrolling in OS 9, it was like a new machine again, i was stunned! How our memory quickly forgets our snappy OS 9 computers, even if multitasking did suck....
     
CheesePuff
Professional Poster
Join Date: Jan 2002
Location: Rochester, NY
Status: Offline
Reply With Quote
Oct 2, 2002, 08:45 AM
 
Don't get me wrong - I am a die hard OS X user, but please list some programs that are very slow at scrolling. Everything I use is as smooth as silk (most of the time, if not then its just atad choppy, nothing bad at all).
     
sushiism
Grizzled Veteran
Join Date: Jun 2002
Location: UK
Status: Offline
Reply With Quote
Oct 2, 2002, 08:45 AM
 
Ti800 scrolling is perfectly fine, only thing i think i noticed a prob in was ical but i'd let that off becuase its a first version and the grid drawing system may be unoptomized etc, plus dont use it anyway
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 09:59 AM
 
Anything that doesn't have just text in it is where scrolling isn't where I think it should be -- at OS 9 speed. Have you tried scrolling in Explorer in OS X and then going to 9? Geez, you must get an extra 20 frames out of it, at least. At least. And I know my framerates.

I read about Quartz updating practically the entire image during scrolling, but I also read it was at least partially fixed in Jaguar, which I agree it is -- vastly improved. But damn, it's just one of those things that irritates the hell out of me. But hey, I've been in OS X a full week, getting all my work done crash-free. I still love it.

Bring on 10.3, and if they haven't fixed it by then, well, I might just **** a brick and start another whining scrolling thread.
     
Simon
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status: Offline
Reply With Quote
Oct 2, 2002, 10:25 AM
 
Originally posted by CheesePuff:
Don't get me wrong - I am a die hard OS X user, but please list some programs that are very slow at scrolling. Everything I use is as smooth as silk (most of the time, if not then its just atad choppy, nothing bad at all).
I have to second that. I have an old iMac DV+ (just a G3@450) with 192MB RAM. Everything scrolls fine under 10.2.1.

I once thought scrolling sucked extremely after installing 10.2 and working almost only in Omniweb for a week. Then I downloaded Chimera and had to realize that my old iMac scrolls just fine - it was just that OW sucked at scrolling...

But, I'd really like to know what software gives you trouble when scrolling and what your hardware is. I could imagine that quite a few of you guys here have much better hardware and I'd really like to know where scrolling lags for you.
•
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 03:32 PM
 
Dual-800, GF3, 256MB RAM (getting new module soon; other flaked), and the scrolling was at it is now with 256 when I had 512.

Scrolling doesn't really lag that bad -- it's just not as fast as OS 9. Now, I know framerates. I work in game development and no matter what you fruits say about the human eye, I can tell the difference between a smooth 60 frames, 50, 40, and 30, and below. You show me Quake 3, I'll tell you how many frames it's approximately running, and you can cgi_drawFPS check it yourself.

OK, now that I've said that, let me break it down to how I feel scrolling is in X. For 9, almost everything is a smooth 60, depending on super heavy graphics within a browser. In OS X it's between 30-50, mostly in the 40 range. That bugs me, because, like I said, my friend's 500-MHz Celeron is faster at actually updating during a scroll (not keeping up with, say, a very fast scroll down a web page). I feel Apple put all their time into making this amazing new operating system, you'd think they would scrolling perfect -- they had a long time to get it perfect in 9.

OK, I'm stopping. This is the biggest whiner thread I've ever seen. I can't believe I posted it. I'm a whiner. Post another baby picture. Thanks for any input, people. Good day. :o
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 03:35 PM
 
Something I think would be cool if Apple could implement into Quartz for scrolling. I'm no programmer, but I believe Quartz Extreme basically turns windows into flat polygons with textures, right? And minimization on this baby is silk.

Anywho, I think it would be cool if they could somehow make the contents within the scrolling area polygon with a texture itself. Maybe scrolling would be improved even moreso? Hey, just an idea. I know Apple will smooth things out with their new baby, but here's to speeding it up a little.
     
Millennium
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Oct 2, 2002, 04:06 PM
 
Originally posted by MindFad:
Anywho, I think it would be cool if they could somehow make the contents within the scrolling area polygon with a texture itself. Maybe scrolling would be improved even moreso?
You have, in essence, just described the region-drawing feature which we've been discussing.

QuickDraw did something analogous to this. Not exactly like it, of course (as it didn't do vectors), but it could draw only the region of an image that needed to be updated. That's pretty easy when you're working with bitmaps; just you just slice up the pixels and you're done. And even on a bitmapped-graphics system like QuickDraw, you get a pretty nice speed boost out of the deal.

With vectors, though, it's harder to do that, because you're not working directly in pixels anymore, so you have to start working with other measures and such. This isn't impossible by any means, but it does take a lot more work to figure out where the "dirty" region is.

In fact, I suppose it's possible that it may take more time to figure this out than it would to just draw the whole image, in which case region-drawing wouldn't be worth it. But I doubt that's really the case. Regardless, it's one of the two largest problems with Quartz right now. The other one being that it's not set up in a way which makes virtual consoles possible; this is important because it would allow something analogous to WinXP's Switch Users feature. But I digress.

Anyway, it's something to think about. Region-drawing may be a way of speeding up Quartz scrolling, but then again, it might not. Not having access to the Quartz source and a good prolfiling tool, I honestly don't know.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 04:16 PM
 
Cool, thanks for the info, Millenium. We shall see, of course. I'm sure Apple has been busy as hell working on this monster. I like what they've done so far, whining aside. Never been a more happy or productive Mac user in my life.
     
stew
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 07:47 PM
 
Why can't OS X just use hardware 2D blitting like OS 9 obviously does? Quartz or not, scrolling is a simple task where hardware solutions exist since the 80s.


Stink different.
     
Mack
Forum Regular
Join Date: Nov 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 07:55 PM
 
Scrolling for me is great - seamless, smooth, snappy, whatever word you want to use. It's just as good as on my 2.2ghzP4 PC. Not sure what all the fuss is about.

My specs: DP800, 1GB RAM (maybe the RAM is the difference).
     
stew
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Oct 2, 2002, 08:47 PM
 
Originally posted by Mack:
Scrolling for me is great - seamless, smooth, snappy, whatever word you want to use. It's just as good as on my 2.2ghzP4 PC. Not sure what all the fuss is about.

My specs: DP800, 1GB RAM (maybe the RAM is the difference).
Late 2001 iBook here, and the difference between X.2 and 9.2 is immense.


Stink different.
     
Simon
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status: Offline
Reply With Quote
Oct 3, 2002, 03:26 AM
 
Originally posted by stew:

Late 2001 iBook here, and the difference between X.2 and 9.2 is immense.
Just a wild guess here, but is it possible that sucky scrolling has to do with bus throughput? I have the impression that people who have bad scrolling (like Stew) tend to have 66MHz busses, whereas my 100MHz or other's 133MHz bus is fine. Could it be that those with >100MHz busses also have lots of PCI cards and therefore run into some kind of bus saturation?

Just guessing.
•
     
stew
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Oct 3, 2002, 06:18 AM
 
My computer has a 100MHz bus, and the scrolling we are talking about is something that has been done fluently over simple 33MHz PCI busses for years now. Even more, it's fine in OS 9, so hardware is not the bottleneck.


Stink different.
     
Simon
Posting Junkie
Join Date: Nov 2000
Location: in front of my Mac
Status: Offline
Reply With Quote
Oct 3, 2002, 06:20 AM
 
Originally posted by stew:
My computer has a 100MHz bus, and the scrolling we are talking about is something that has been done fluently over simple 33MHz PCI busses for years now. Even more, it's fine in OS 9, so hardware is not the bottleneck.
No, no. I probably wasn't clear. I'm not saying the bus is a bottleneck a priori, but I was wondering if under OS X the bus could have something to do with the slow scrolling. I remeber very well how my 66MHz bus under OS 9 scrolled perfectly, but my guess refered to use under OS X.
•
     
OreoCookie
Moderator
Join Date: May 2001
Location: Hilbert space
Status: Offline
Reply With Quote
Oct 3, 2002, 08:55 AM
 
In 9, the scrolled content didn't slide, but it was simply displaced without any steps in between.
Something that bugs me even more than scrolling is typing ahead of the cursor (e. g. in OmniWeb) on my iBook (600 MHz, 384 Megs of RAM).
I don't suffer from insanity, I enjoy every minute of it.
     
teknologika
Junior Member
Join Date: Oct 2002
Location: Sydney, Australia
Status: Offline
Reply With Quote
Oct 3, 2002, 09:10 AM
 
As far as I know scrolling performance has two key areas which can effect performance. The speed at which the screen is refreshed, and the input from the user to initiate the scrolling. Personally I hadn't noticed the scrolling performace was poor for a couple of reasons until recentley when my wife just switched from OS 9 on her Ti book and complained of the poor speed when scrolling. I did some investigation (well I am a software testing consultant after all ) and found a couple of things.

The Quartz extreme font smoothing slows down scrolling significantly. If you have a copy of Word X handy, open a large document and compare the scrolling with smoothing on and off ( Under Preferences, General, Enable Quartz text smoothing), there is a huge difference in performance.

The other thing I found is that HOW you do the scrolling also affects the performance. If you have an Apple pro mouse which does not have a scroll wheel then you probably use the arrows at the bottom of a window, which is significantly slower to scroll than using a mouse wheel or moving the slider. I timed some tests on this page and here are the results (test system is a 400mhz Pizmo with 320mb of ram).

Time taken for the scroll bar to move from the top of this page to the bottom:
Holding down scroll button: 13.52 seconds.
Scrolling with mouse wheel: 3.78 seconds.
Dragging scroll bar 3.05 seconds.

The tests were performed at a "reasonable yet quick" rate with the drag and scroll wheel. The quckest I managed to scroll was 0.8 seconds by dragging very quickly to the bottom.

So the moral of the story... users using the the scroll buttons will think that it is VERY VERY slow, and users that use a scroll wheel will think that it performance is OK but not great. ( Or should that be slow, but not very, very slow. )

Just my 2cents worth.

Bruce
( Last edited by teknologika; Oct 3, 2002 at 10:01 AM. )
     
stew
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Oct 3, 2002, 09:46 AM
 
Scrolling with the mouse wheel is horribly slow here too. Rolling the wheel up and down in one flick and watching Chimera follow it for a whole second after I let go of the whell is not satisfying at all.


Stink different.
     
Millennium
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Oct 3, 2002, 10:56 AM
 
Originally posted by stew:
Why can't OS X just use hardware 2D blitting like OS 9 obviously does? Quartz or not, scrolling is a simple task where hardware solutions exist since the 80s.
Oh, it does use hardware 2D blitting. The actual blitting of pixels to the screen is not the bottleneck.

Here's the thing. CoreGraphics is split into two parts: CGServices and CGRendering. CGServices is the final 2-D portion of Quartz (and OpenGL, and DrawSprocket, and QuickTime, and QuickDraw in Classic, and XDarwin, any other graphics API on OSX). This is responsible for actually getting stuff onto the screen, and it's fully hardware-accelerated. It's been that way the whole time.

What we commonly know as "Quartz" is technically called CGRendering, the other side of CoreGraphics. This is where things begin to get hairy, because CGRendering doesn't actually do any drawing of its own; all the actual drawing is passed to CGServices. CGRendering is what does the compositing and calculations and such. That's a problem because it's difficult to translate that into something a graphics card can work with. It can be done, if you do some really creative driver programming, but it's not easy.

That's what Quartz Extreme is, in a nutshell: it takes one particular part of CGRendering (the compositing engine) and offloads it to the graphics card. And the compositing engine was the biggest bottleneck, so there was a nice boost in responsiveness. But there are still other areas which could benefit. It's just a matter of first figuring out how to do it, and then actually getting it done.

There is, perhaps, one other thing to consider. Although 3-D video acceleration has been improving at breakneck speed for some time, the state of 2-D graphics acceleration has actually not advanced significantly in several years, on any platform. It kind of fell by the wayside as it became "good enough" for most tasks, while games drove the 3-D acceleration field to new heights. IXMicro (nee IMS) made a card called the Twin Turbo which only did 2-D acceleration, back in the days before 3-D acceleration took off. It ran off the PCI bus, and had 8 megs of VRAM on it. This card is still considered to be one of the best cards you can buy for 2-D acceleration, It is a very nice card, in fact; I've got one and I've considered hooking it back up in my Beige G3. It can't do 3-D of course (but neither can the RagePro) and you can forget about QE, but given what I use that machine for it's not too terrible of a loss.

IXMicro went out of business some years back. But that should give you an idea of where 2-D acceleration is right now, if a card made by a company that no longer exists is still at the top of the line in that area.

Note: It's possible that I may have mixed up the names of CGServices and CGRendering, but I'm pretty sure this is the basic concept.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
pliny
Mac Elite
Join Date: Apr 2001
Location: under about 12 feet of ash from Mt. Vesuvius
Status: Offline
Reply With Quote
Oct 3, 2002, 10:59 AM
 
compositing and rendering of transparencies and shadows is a goofy bottleneck, no? every time you scroll this must be done. you have a 3d layer ontop of a 2d layer and this is gumming up the works with mileage varying from machine to machine with the best of course on the higher end g4s and even there it is not always seamless, or always as seamless as everyone might like without saying "it is good enough"
i look in your general direction
     
Graymalkin
Mac Elite
Join Date: May 2001
Location: ~/
Status: Offline
Reply With Quote
Oct 3, 2002, 12:06 PM
 
I fully agree scrolling needs to be sped up. It isn't like to happen too soon however because of the ways Quartz differs from QuickDraw.

QuickDraw runs as a manager inside MacOS and controls every aspect of the GUI from rendering to compositing. When something from the ToolKit talks to QD it gives it some information in the form of object descriptors. Something like "a box filled with this pattern of this size at these coordinates". From there QuickDraw handles everything from color lookups to the rendering of the object. Each pixel on the screen is owned by only a single application. QuickDraw also allows for direct pixel, or bit image, operations. The application itself can bypass ToolKit and render stuff on its own and then tell QD where to put it. QuickTime among other programs works in this fashion, it provides its own rendering system and just tells QD where to allocate some pixels for its output.

Quartz is a bit different because it managed in a more finely grained manner. Instead of one program handling all the rendering work Quartz splits the task up between different programs. CGRendering and CGServices are said culprits while WindowServer tells those two where stuff actually goes. CGRendering is what apps talk directly to, they send some PDF display stuff to CGRendering and it rasterizes it into an image. CGService takes those rasterized images and composites them on the screen according to where WindowServer tells them to go. In QuartzExtreme the compositing and blending job CGS normally does on the CPU is performed by the T&L capable GPU.

Quartz would be ok if you were only dealing with static windows. Scrolling and just about anything else makes said window not static anymore. When you scroll in a browser the view port needs to be updated in whatever fashion your program does it, then rerestered in CGRendering, then composited and displayed through CGServices. The composite part is relatively lightweight, the rasterizing part however is the problem. The PDF raster has to be done on the host processor so even with QE it can't really be accelerated. Say you've got a 950x750 pixel view port that needs to be updated. Thats one redraw with your browser's rendering engine and then a second redraw in CGRendering, then a composition in CGServices. That makes out to be a slow process because it is difficult to figure out some shortcut between CGRendering and CGServices. The only way to do it really is use have QuickDraw, OpenGL, or QuickTime draw your window and send it to CGServices. With those systems however you lose your Aqua widgets.

The render path of a windows view object is really why scrolling performance is so crappy on older systems running X. There's a lot of intermediate rendering steps involved unless you're using 100% Quartz instructions. A plain window that just uses a couple of stock Aqua objects gets to skip a couple rendering steps. Anything with its own view objects or rendering that it does internally like a web browser or word processor is going to scroll slowly.
     
foamy
Senior User
Join Date: Sep 2000
Location: Shallow Alto, CA
Status: Offline
Reply With Quote
Oct 3, 2002, 01:32 PM
 
I agree wholeheartedly with the fact that scrolling (Ti550) is a serious problem. Anyone who claims scrolling is "fine" in OSX clearly has been tokin' the crack pipe a little too often, or hasn't booted into OS9 lately. I recently booted into OS9 to format a manuscript with Word2001 and Endnote5 (Endnote *still* doesn't work with 10.2...but I digress), and I was absolutely blown away by how responsive the whole machine was; especially scrolling and switching between apps.

I've posted the following since the days of public beta, but IANADeveloper, so I don't know if this is even feasible.

The question is, "Why use Quartz at all during the actual scroll event?" I guess you have to use Quartz to display the final image to the screen. Would it be possible to use the GPU (like in OS9) to draw the contents of the window during the scroll, but the instant you let up on the mouse, or slider, or scroll wheel, quartz double buffers the window and antialiases the text?

Maybe I'm confused, but I just don't see the advantage of all this hoo-ha for a 2D object without transparency (i.e. the scrolling content). I guess there might be a minscule chance that you have a transparent window over the section being scrolled, or your winow is covered a bit by the dock, where you would need all of the super-coolness of Quartz to make it look good, but frankly I don't give a crap if my windoes are double buffered, or if my text is anti-aliased or not while it is flying by on the screen. I just want to get to the desired point in my document and get some work done.
     
Bi@tch
Forum Regular
Join Date: Apr 2002
Location: Canada
Status: Offline
Reply With Quote
Oct 3, 2002, 02:04 PM
 
I agree wholeheartedly with the fact that scrolling (Ti550) is a serious problem. Anyone who claims scrolling is "fine" in OSX clearly has been tokin' the crack pipe a little too often, or hasn't booted into OS9 lately. I recently booted into OS9 to format a manuscript with Word2001 and Endnote5 (Endnote *still* doesn't work with 10.2...but I digress), and I was absolutely blown away by how responsive the whole machine was; especially scrolling and switching between apps.

I've posted the following since the days of public beta, but IANADeveloper, so I don't know if this is even feasible.

The question is, "Why use Quartz at all during the actual scroll event?" I guess you have to use Quartz to display the final image to the screen. Would it be possible to use the GPU (like in OS9) to draw the contents of the window during the scroll, but the instant you let up on the mouse, or slider, or scroll wheel, quartz double buffers the window and antialiases the text?

Maybe I'm confused, but I just don't see the advantage of all this hoo-ha for a 2D object without transparency (i.e. the scrolling content). I guess there might be a minscule chance that you have a transparent window over the section being scrolled, or your winow is covered a bit by the dock, where you would need all of the super-coolness of Quartz to make it look good, but frankly I don't give a crap if my windoes are double buffered, or if my text is anti-aliased or not while it is flying by on the screen. I just want to get to the desired point in my document and get some work done.
My guess as to why OSX just doesn't use Quickdraw or something of the like for scrolling is that it would ruin compositing like when you have a transparent window on top of classic apps. And I'm guessing it would cause problems if you'd try to minimize that window, then you'd have to make the CPU do even more work to transfer the contents of the drawing area back to quartz's rendering engine.

This is just a wild guess though.
     
dru
Senior User
Join Date: Apr 2002
Location: California
Status: Offline
Reply With Quote
Oct 3, 2002, 04:50 PM
 
Originally posted by Simon:


Just a wild guess here, but is it possible that sucky scrolling has to do with bus throughput? I have the impression that people who have bad scrolling (like Stew) tend to have 66MHz busses, whereas my 100MHz or other's 133MHz bus is fine. Could it be that those with >100MHz busses also have lots of PCI cards and therefore run into some kind of bus saturation?

Just guessing.
Not necessarily.

900 messages in a Mail folder. Scrolling with the scroller/thumb made me begin to slip into a "waiting room coma" which is why I use a scrollwheel. Using the arrows was less jerky but still clearly so. AppleWorks (for crying out loud!) doesn't even support live scrolling. Bah. iMac FP (GeForce2 MX, 800MHz).
     
Storyboy
Dedicated MacNNer
Join Date: Jun 2000
Status: Offline
Reply With Quote
Oct 3, 2002, 05:47 PM
 
Okay, SMacTech has suggested I ad this here:

Hey,

I didn't see anything in that scrolling rant about Appleworks or
Acrobat Reader.

Is it just me?

Thanks.

PS: I don't mind a rant, I just want to know why AW doesn't scroll. I thought it best to start fresh, with a question. I's sorry if I've ruined anyone's life.
Indeed, I tremble for my country when I reflect that God is just.

iMac Core2Duo 2.16GHz/3G RAM/250G HD OSX 10.6.6
Various Peripherals
     
squiggy
Junior Member
Join Date: Oct 2001
Status: Offline
Reply With Quote
Oct 3, 2002, 07:04 PM
 
Originally posted by foamy:
The question is, "Why use Quartz at all during the actual scroll event?" I guess you have to use Quartz to display the final image to the screen. Would it be possible to use the GPU (like in OS9) to draw the contents of the window during the scroll, but the instant you let up on the mouse, or slider, or scroll wheel, quartz double buffers the window and antialiases the text?


The good news (or maybe bad news for people complaining about speed) is that this is pretty much exactly how 10.2 now scrolls things. The data that's already present in the frame buffer can be moved very cheaply by the video chipset and only the new data is drawn in. You can use Quartz Debug to check this out for yourself (part of the dev tools install).

I'm not sure how the actual contents of the window buffer are maintained, it may already implement a 'lazy' updating method like you suggest that takes into account that most people don't want to just scroll one line (or click of the mouse wheel or whatever). If not there's another area for optimization, but this is quite a bit more complicated than it might seem at first due to the window buffer supposedly always representing the on-screen contents of the window.

Another thing you should realize is that drawing anything in OS X is just much more expensive in terms of CPU speed than it is in Mac OS. The anti-aliasing is better, but slower. In OS 9 most of the fonts you see on the screen are pre-rendered bitmaps. In addition, every element of Aqua needs to be composited by the CPU (no help from QE here - that's for 'windows' only, at least for now). There's more optimization for the way Cocoa draws UI elements, so you'd think there's some speed to be gained by doing the same thing for Carbon (look at how the scrollbar is drawn using Quartz Debug for an example). Ideally you'd see Apple unify the UI drawing code someday.
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 12, 2002, 03:09 AM
 
With all the feedback I've sent to Apple ... well, "whineback" ... I better get good scrolling on my dual-800 with 768MB of RAM come Puma time. Slower cat, but I better get a faster system. Is it so much to ask?

Be forewarned I will start another whiney scrolling thread come Puma if Apple hasn't sped it up more. Flame all you want, but at least I whine about it and send feedback.
     
Groovy
Mac Enthusiast
Join Date: Apr 2001
Status: Offline
Reply With Quote
Oct 12, 2002, 04:36 AM
 
Scrolling is fast here. QE speeds it up a ton but you need 64 meg VRAM or more it seems. (Which I have on an ATI 8500) Your video card in this case
really makes a huge difference.

I guess the window content is one big texture and that texture
is sent to the video card and QE scrolls it from there using the cards GPU.

At least i hope that is what is going on LOL The speed increase
from my older RADEON with 16 meg VRAM to 8500 with 64 meg was night
and day in 10.2. Felt like a new box the day i installed the 8500.

of course now I'm used to it and want more speed : )
     
brainchild2b
Grizzled Veteran
Join Date: Sep 2000
Location: The Basement
Status: Offline
Reply With Quote
Oct 12, 2002, 09:10 PM
 
OS X just doesn't work with older systems well at all. While it's a reality, I know that with all the talented people at Apple they certainly could do a hell of alot better.

At the office I have a spare pentium 233mhz with 32mb of ram, a 4mb trident video card, and windows 2000 and it's much faster for browsing the internet, scrolling in IE, scrolling anywhere is pretty smooth.

Compare this to my 400mhz G3 with 32mb video card 1GB of ram and the wimping 233mhz beats the pants off my G3 (os x) for scrolling. It's pretty embarasing that OS X couldn't have done a better job. OS 9 is fast for scrolling, but it's a crappy OS. Microsoft has managed to get Windows 2000 running on a 233mhz faster than a 400mhz for scrolling/filebrowsing.

I recognize that OS X is the first of it's kind, but still it needs work!. Even steve woz, refuses to us OS X because even with 10.2 he thinks it's not good enough for primetime. While I use OS X everyday, if you cut through the "hype" OS X is nowhere near on the level of functionality and features offered with windows XP. Hopefully with age OS X can play catchup. Here's to hoping!
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 13, 2002, 01:26 AM
 
*Sigh* I hear ya. It's just frustrating as hell. Hopefully, they will do something fancy in Puma to really speed it up. Expand the capabilities of Quartz Extreme maybe.

And as I understood it, I thought QE had absolutely nothing to do with actual scrolling. I thought QE just handled the actual compositing and minimization effects, and transparency effects, and what not. But not scrolling. Maybe I read the article incorrectly.

Well, here's crossing fingers hoping Apple fixes these things. I used Photoshop in 9 today.... Absolutely everything is faster. Adding a ton of RAM helped PS practically nil in OS X. Even pressing the zoom button in the navigator gives me a nasty delay compared to 9.

I don't want to have to wait for a damn rumored GPUL and have to save up tons of money to have a more responsive system after spending so much on this machine, which just turned a year old on me. My fear is Apple won't really speed it up much anymore and make that code tight, but rely on the new great hardware supposedly coming to do the job. That would swallow.

Even still, I love me some OS X.
     
foamy
Senior User
Join Date: Sep 2000
Location: Shallow Alto, CA
Status: Offline
Reply With Quote
Oct 13, 2002, 01:57 AM
 
Originally posted by squiggy:


Another thing you should realize is that drawing anything in OS X is just much more expensive in terms of CPU speed than it is in Mac OS. The anti-aliasing is better, but slower. In OS 9 most of the fonts you see on the screen are pre-rendered bitmaps. [/B]
I guess that's my point in a nutshell.

I could care less if I have antialiased goodness and all the prettiness going on *during* the scroll event. The microsecond I stop scrolling; that's when I want everything to look perfect, but not during scrolling.

As for the miniscule chance that you have a transparent object above the content to be scrolled; why can't such a complex OS do something like:

if (object above me) {
pull out all the stops
}
else {
get the job done as fast as possible
};

Sometimes I really think the coding resources at Apple are really misguided. I mean how often do you really need to see a movie playing as it is sucked into the dock in slow motion? How may of you out there still have magnification *on* for the dock? It was neat to show my friends, but in daily use it is just annoying IMO.

Put it this way. Would you rather have?

a) fast, smooth scrolling and window resizing
b) animated docks, windows and transparent sheets

I think 99% of users would choose (a).
     
dr. zoidberg
Mac Enthusiast
Join Date: Aug 2001
Location: planet express
Status: Offline
Reply With Quote
Oct 13, 2002, 09:13 AM
 
to those guys talking about puma.... you mean panther, right?
puma we had already.
"And Zapp Brannigan, your score qualifies you as assistant delivery boy, second class."
"Hmm. I guess I'll have to sleep my way to the top. Kif, wake me when I'm there."
     
Gul Banana
Mac Elite
Join Date: May 2002
Status: Offline
Reply With Quote
Oct 13, 2002, 09:20 AM
 
Faster scrolling would be nice (although, it's not THAT bad, especially with a Radeon 8500 - only in web browsers can I notice any slowdown), but not if it came at the expense of eye candy. I LOVE Dock magnification. Just count me a b), I guess
[vash:~] banana% killall killall
Terminated
     
El Pre$idente
Banned
Join Date: Aug 2002
Status: Offline
Reply With Quote
Oct 13, 2002, 10:40 AM
 
Launch Terminal

type the following:

emacs [return]
[press escape when the emacs menu appears]
xdoctor [return]

Now ask the X Doctor the following and press [return] twice after each:

-I want fast scrolling
-Can you make OSX scrolling faster?
-Go F*ck yourself
     
MindFad  (op)
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Oct 13, 2002, 12:06 PM
 
Originally posted by dr. zoidberg:
to those guys talking about puma.... you mean panther, right?
puma we had already.
All right? I guess? I thought Puma was next. Thanks for the correction.

And, yes, I would certainly choose (a). It would be nice to be given the option of (a) in the Finder, too. Gorgeous and slow, or pretty and fast.

And I rolled my eyes just seeing that you were the last to post, Kelly -- didn't even read the post. It was funny, though.
     
Graymalkin
Mac Elite
Join Date: May 2001
Location: ~/
Status: Offline
Reply With Quote
Oct 13, 2002, 01:09 PM
 
While I don't use dock magnification at all it does serve a purpose you may not be aware of. It is one of the best implementations of Fitz's law. Said law states that the ease to hit an object with the mouse is an inverse relationship to its size and distance from the mouse. A large object far away is easier to hit than a small object far away. A close small object is much easier to hit than a small distance object. Thats why the toolbar on MacOS is ALWAYS at the top of the screen. Since the mouse stops moving at the top edge (unless you've got multiple desktops) of the screen the toolbar is infinitely large meaning no matter how far away it is it's easy to hit.

With Dock magnification the icons adapt to become much better targets dynamically. As you approach them their size increases making them easier to hit with the mouse. Remember hitting an icon in a 255 alpha region doesn't activate it. Dock magnification increases all active areas of an icon and prepares the next icons in succession in either direction to be good targets. Not only does the Dock become infinitely large like the toolbar according to Fitz's law by being at the edge of the screen but the icons become much better targets for you. The fanciness of having them resize in realtime is just using the capabilities of Quartz. The effect and the purpose behind it serves a much higher purpose than mere eye candy.
     
squiggy
Junior Member
Join Date: Oct 2001
Status: Offline
Reply With Quote
Oct 14, 2002, 06:19 AM
 
Originally posted by Graymalkin:
While I don't use dock magnification at all it does serve a purpose you may not be aware of. It is one of the best implementations of Fitz's law. Said law states that the ease to hit an object with the mouse is an inverse relationship to its size and distance from the mouse.


That would only be true if the object was stationary. Dock magnification is like a lot of the glitz in OS X, a great way to catch someone's eye in a demo, but less than useful in everyday use.


Thats why the toolbar on MacOS is ALWAYS at the top of the screen. Since the mouse stops moving at the top edge (unless you've got multiple desktops) of the screen the toolbar is infinitely large meaning no matter how far away it is it's easy to hit.


You mean menubar, right? The toolbar in OS X is the generally large thing on the top of windows controlled with the lozenge widget.


With Dock magnification the icons adapt to become much better targets dynamically. As you approach them their size increases making them easier to hit with the mouse. The effect and the purpose behind it serves a much higher purpose than mere eye candy.
In my dock anyway, they instantly balloon up only when the mouse cursor touches the top of the dock. The distraction value and lack of stability far supercede any possible benefit the larger size of the icon has to me. I always thought that one of the tenets of Fitts' Law was that because the object was fixed you'd soon develop muscle memory for the action that allowed you not have to think about it (like I know where the File menu is, I can just zoom up there easily and select it and do something). With the Dock the permanent apps would qualify if you never added anything in the way of transient apps or minimized windows because otherwise they all shift. You can adjust for this to some degree by pinning the dock to the left or right edge of the screen (or top/bottom) but that only accounts for the Finder or Trash.

Back to scrolling for a bit, again, the slow part in scrolling isn't the actual movement of the scrolled region (anymore) but the drawing of new content. Apple could cache characters and draw pre-rendered glyphs (and they probably do to some degree) but the kerning they do and ligature support and all that make it slower. I'm not sure it would be much benefit to have a draft mode to draw stuff initially, at least for text. They do something similar for Preview when the image is zoomed (it draws in a simple multiplication at first and then if there is no more movement for a while it does a more costly bilinear zoom or something to smooth out jaggies). What they can do is improve the performance of drawing text. You can also improve the situation by yourself by getting a mouse driver that supports an 'accelerated' scrollwheel. What that does is instead of sending a set number of lines to an application to scroll it varies depending on how fast you turn the wheel (so a slow movement equals fine control, fast and it scrolls a larger chunk at a time). If your mouse driver doesn't support it check out USB Overdrive which does.
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 11:41 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,