window resizing (split from "panther requests")

13

Comments

  • Reply 41 of 63
    mrmistermrmister Posts: 1,095member
    "Can anyone explain what is the big difference between windows and mac os in this regard? MAC OS X is afterall a completely re-written OS and should therefore be sort of optimized (user interface wise) from the beginning?"



    Sigh. Scroll upwards and read the thread--it's detailed fairly thoroughly.



    Then write to ATI and Nvidia and wait for Longhorn to make the card designers support what OSX wants to do.



    OR beg Steve to let us toggle live resizing.
  • Reply 42 of 63
    kickahakickaha Posts: 8,760member
    What he said.



    It's not Cocoa. Method dispatch is trivial.



    It's not a weak CPU. Check out the horsepower on a GPU sometime... it's sick.



    It's the sheer fact that Quartz demands operations that current hardware *cannot* accelerate.



    Windows has kept its graphics system subpar, but can accelerate it.



    Quartz is next-gen. Windows and the card manufacturers are last-gen, but matched to work together.
  • Reply 43 of 63
    johnqjohnq Posts: 2,763member
    I wonder how much faster Mac OS X would be if Apple got rid of all the "NS" prefixes...



    Whoever said Cocoa is a work in progress (meaning fairly new)...nah-uh. We're talking what, 1990? That's what The NS stands for...NeXTSTEP, after all.



    -- anyway



    How did the old NeXTSTEP resize? Live? Was it fast? And how about the Original Mac OS X Server that had Platinum theme? Fast? Live resizing?



    Has anything in the code changed now that the UI is more textured opposed to previously solid color UIs? Or did they just point to texture files rather than solid color files or hex values?
  • Reply 44 of 63
    costiquecostique Posts: 1,084member
    Quote:

    Originally posted by Kickaha

    It's the sheer fact that Quartz demands operations that current hardware *cannot* accelerate.



    Call me an extremist, but I think that relying on hardware which is not yet invented is bad software design. In most cases the greatest speed gain comes from switching to better algorithms, fresh ideas and thinking different. If my app runs slowly on my own 3-year old iMac, I decide I cannot afford it. Either the whole Quartz2D must be re-worked to take full advantage of not-so-recent hardware, or user experience must be temporarily sacrificed until proper hardware becomes affordable.



    Did you notice that QuartzExtreme enables a shadow under the cursor? Or, more likely, its absence causes problems with the shadow. Are all users ready to sacrifice some performance (or money for newer hardware) for such subtle things in GUI? I don't think so. Many of us are not fond of the 'form over function' approach.
  • Reply 45 of 63
    frawgzfrawgz Posts: 547member
    Quote:

    Originally posted by johnq

    Has anything in the code changed now that the UI is more textured opposed to previously solid color UIs? Or did they just point to texture files rather than solid color files or hex values?



    As mentioned above, it's not an issue of graphic complexity, but rather how the architecture handles pixels now. That is, it doesn't. It handles layers. It's gone one level of abstraction up. Sort of like programming in C++ versus programming in assembly.



    The problem is not that our uber-powerful CPUs are not fast enough to handle it, nor is it that the code is sorely unoptimized. It's a matter of the paradigm being more advanced than the hardware built for it. Read: there is no graphical acceleration for Quartz functions because either the guys who do this stuff haven't had enough time to figure out how to adequately accelerate it or they just don't feel like doing it, since Apple is too small a market to make such a big leap forward in paradigm themselves. (It would be much more expensive to do it on the hardware side, I'd expect)
  • Reply 46 of 63
    pbpb Posts: 4,255member
    Quote:

    Originally posted by Kickaha



    This isn't a programming issue. This is a hardware issue. Until the graphics hardware can meet the demands of Quartz, **2D drawing such as window resizing will never be accelerated**. Period.





    Although I can accept what Kickaha says here, I have difficulty in accepting one thing: OS X is out there for almost 2.5 years now, and we still are waiting for graphics hardware to accelerate things like window resizing? Pehaps I am on the pessimist side, but I doubt we will see such hardware anytime soon. There is something wrong in this story. I simply don't know what.
  • Reply 47 of 63
    johnsonwaxjohnsonwax Posts: 462member
    Quote:

    Originally posted by PB

    There is something wrong in this story. I simply don't know what.



    Yes someting is wrong. Apple should be able to make resizing much faster.



    However, I can't help but wonder what the big deal is. Sure, it's a little slow, but come on, how much of our lives are lost to stuttery resizing? If its a matter of principle, then you probably know why it hasn't gotten done - Apple is probably better off fixing other problems that really do tie people down than this.



    Live window sizing is still valuable in it's current incarnation - you can still see what you get during the resize rather than having to repeat the operation over and over. That it's not silky smooth is a little annoying, but doesn't seem to hamper functionality in any way. Getting rid of it would be a loss of functionality, and probably be a greater annoyance.
  • Reply 48 of 63
    big macbig mac Posts: 480member
    I appreciate all views on this issue. My original posts on the subject (which were transferred into this new thread) were prompted by the talk about poor resizing performance on the G5. Lundy expressed best the astonishment many of us feel about this. I still can't believe the 2GHz G5 can't do this any faster than a G4. The GPU must be one hell of a bottleneck if that's the case. Whatever the case maybe, though, there is a problem with window resizing. I think we can all agree that Apple could give the user a choice in this regard. Some individuals appreciate live resizing, while others would rather have clipping or OS 9 style. If Apple doesn't wish to make resizing faster, then give us an alternative. (In fact, Apple could eliminate a lot of these problems if it allowed more customization of the OS. I'm not saying it should be as "flexible" as the abomination Windows, but Apple could give a little.)



    Personally, I must imagine that technical barriers are only partially responsible for this malady. We know the issue was dealt with post 10.0, because Jobs specifically mentioned the resizing performance improvement in 10.1. But Apple's programmers may not be concerned about it at all now. . . I'm sure many remember the PPP freeze state that plagued users late into 10.1.x's life. (Recall that if more than one dial-up were initiated between restarts, the machine would totally freeze for a minute or more.) We had gone through one major revision of OS X, but Apple failed to cure a major bug that had existed from day one. And in the end the problem was really only cured after a wonderful programmer took it upon himself to diagnose and cure the problem. So what's the moral of the story? I'm afraid that Apple doesn't do the QA it should. Incidentally, I remember reading that Apple's excuse for not fixing the PPP bug is its coders turn their machines off every night!
  • Reply 49 of 63
    costiquecostique Posts: 1,084member
    Quote:

    Originally posted by Big Mac

    Incidentally, I remember reading that Apple's excuse for not fixing the PPP bug is its coders turn their machines off every night!



    Lack of testing, huh? Whose problem is it? Not mine; not yours. As long as their tech support can suggest timely workarounds and their developers can fix it as soon as possible without saying 'Who the hell needs PPP?', I can live with it. Any large project is an eternal work in progress and the larger the project is, the more bugs slip. We don't kill our children for grammatical errors, but we get very angry when they don't give a damn.



    In short, I hope that something is being done to the graphics subsystem to further improve its performance, because every GUI app depends on it, because it improves system responsiveness, because very many users want it. It's a commercial product, isn't it? If Apple wants to sell Mac OS, they must improve it. Anyway, it's getting better with every major point release. I hope the trend will continue.
  • Reply 50 of 63
    dfilerdfiler Posts: 3,420member
    Quote:

    Originally posted by Aquatic

    Yeah. Because of course new hardware will handle it well. They want to sell you new stuff. Planned obsolescence.



    It is reasonable to be disappointed with window redraw speed.



    Yet 'planned obsolescence' is a huge stretch. Each new release of OS X has been faster than the previous. That would make Apple's OS X upgrade strategy the oposite of 'planned obsolescence'.



    Seems like you need a new conspiracy to parot.
  • Reply 51 of 63
    cowerdcowerd Posts: 579member
    Quote:

    Call me an extremist, but I think that relying on hardware which is not yet invented is bad software design.



    If that were the case there would be no 3D/CGI industry. On a more prosaic level, did you ever try to run the first releases of Illustrator or PS. Illustrator was especially enjoyable on a 9-inch screen.



    Quote:

    Although I can accept what Kickaha says here, I have difficulty in accepting one thing: OS X is out there for almost 2.5 years now, and we still are waiting for graphics hardware to accelerate things like window resizing?



    Does 3% of the market ring a bell. Then factor in an OSX usership of (lets be generous) 50% of that 3%. Look at all the major GFX card mfgs--what compatiblity/features do they tout? Direct-X. Hopefully MS new GDI+++ for Longhorn will be similar enough to Quartz that hardware acceleration will be possible in the near future. And you wonder why Apple wants to increase market share.
  • Reply 52 of 63
    pbpb Posts: 4,255member
    Quote:

    Originally posted by cowerd

    Hopefully MS new GDI+++ for Longhorn will be similar enough to Quartz that hardware acceleration will be possible in the near future. And you wonder why Apple wants to increase market share.



    What near future? It is said that Longhorn has now a release date around 2005, perhaps 2006(?). And count to that what time it will take to manufacturers to fully support Quartz functions if they are close enough to the ones from the other side. It will take at least 4 years (highly optimistic estimation) from the release of OS X as a commercial product to get such elementary functionality implemented in hardware. Now we return to what we said before, something is wrong in this story. Unless there is some surprise...
  • Reply 53 of 63
    shetlineshetline Posts: 4,695member
    I've tried some window resizing today at work, on a 1 GHz Pentium III system running Windows 2000. Obviously not the latest and greatest speed demon, but considering that for the browser windows I tested that the PC is rendering simple bit-mapped text, instead of anti-aliased text, it doesn't seem unfair to compare the PC to my dual 1.25 GHz G4 (which almost certainly is only using one processor at a time for rendering browser windows).



    I was easily able to drag my mouse cursor faster than window resizing caught up to it. I clearly saw a lot of flashing of the desktop pattern through holes in the window and unfilled white blank areas in a stuttered sequence of intermediate redraws.



    I certainly didn't see any ooh-aah! gloriously smooth, perfectly fluid window resizing, the lack of which is apparently such an awful, unforgivable crime of OS X and Apple's hardware. Was Wintel window resizing at least a little more responsize than on my Mac? Yes, but it certainly wasn't a stunning difference in my opinion.



    Now, if I had a 2.5-3.0 GHz Pentium IV system with a gamer's dream video card to test with, might I have gotten better results? Probably. How much better? Who knows? Who cares?



    How on earth did window resizing get to be such a hugely important criteria for some people? I mean, I could see the bitching if resizing were so slow that you'd be tapping your fingers or going for coffee while waiting for a window to redraw. I could see a reason to complain if the resizing was simply sluggish enough that it was awkward to control, so you had to struggle to drag a window into a desired size. (That's something I've experienced using Timbuktu and attempting to resize a window on a remote computer -- and it's really annoying.)



    Please correct me if I'm wrong, but I'm getting the definite impression that there is no practical problem for most OS X users with window resizing, but simply an attitude of "Windows is smoother and faster! OS 9 is smoother and faster! Dammit, what's wrong with OS X!", an attitude that in my mind attaches way too much significance to a performance parameter of dubious value.



    For the trade-off of a lower window-redraw rate, you get smooth anti-aliased text, you don't see patches of desktop pattern or unfilled-in background color flickering around inside your window frame while you resize, and when you've stopped resizing your window, the window's contents often look better on OS X than they do in OS 9 or Windows. So, what's the big deal?
  • Reply 54 of 63
    cowerdcowerd Posts: 579member
    Quote:

    And count to that what time it will take to manufacturers to fully support Quartz functions if they are close enough to the ones from the other side. It will take at least 4 years (highly optimistic estimation) from the release of OS X as a commercial product to get such elementary functionality implemented in hardware.



    Yeah and all this your computer is sitting on your desk, inert, useless. Longhorn release 2005 at the latest. Don't pay any attention to slippage, MS ships when marketing tells them to--the pressure is on. GFX cards will be ready when Longhorn ships. 95% marketshare will do that for you.



    PS Send me a bill for all the time you've lost resizing windows.
  • Reply 55 of 63
    pbpb Posts: 4,255member
    Quote:

    Originally posted by cowerd



    PS Send me a bill for all the time you've lost resizing windows.




    Thanks for the favor . Seriously now, personally I don't think that this is an issue that could affect productivity under any circumstances. For me is just somewhat annoying and nothing more. And I never try to do comparisons with OS 9 or Windows or whatever else. For a very simple reason: I had to use for the past year a Wallstreet under 10.1.5. Can you imagine that? Resizing, scrolling even navigating from page to page in Acrobat Reader...However, after trying OS X, I did not look back again at this snappy and fast OS 9, even on a Wallstreet.



    However, on current systems one would expect that such problems are already gone. But no. Kickaha says that it is the graphics hardware to blame. As I said, I don't find the resizing issue major, but discussing the trends in the graphics hardware industry, especially with respect to technologies like Quartz, is something at least, I think, interesting. Unfortunately, I have no the knowledge to contribute.
  • Reply 56 of 63
    pbpb Posts: 4,255member
    Quote:

    Originally posted by PB

    As I said, I don't find the resizing issue major, but discussing the trends in the graphics hardware industry, especially with respect to technologies like Quartz, is something at least, I think, interesting. Unfortunately, I have no the knowledge to contribute.



    Oh, wait, I found something! This ars thread seems pretty interesting. Sadly, if the posts in there have some truth, don't expect Longhorn-driven hardware implementation of Quartz anytime soon.
  • Reply 57 of 63
    smirclesmircle Posts: 1,035member
    Quote:

    Originally posted by lundy

    Ever seen IE resize a window on a PC?



    It is not possible to move the cursor off of the resize handle.





    I am currently sitting on a Dell P-III/750Mhz running XP Pro.

    Resizing this verly appleinsider-page, I do notice that it *is* in fact possible to lose the resize handle if you move the cursor diagonally.



    It is certainly not as evil as on MacOS-X where you can gain like 1cm on the resize widget, but it is there and it is noticable and completely consumes any CPU-cycles available - the performance meter hits the 100%-mark. Also, the reflowing of text after resize is much faster on XP but still not instantanous.

    Is it a clear indication that XP is superior? I don't know, because when I resize the browser window on XP, the first thing it will do is flash white for a split second. Those white flashes will appear while resizing and they are somewhat annoying.

    The window-frame gets torn at times (again for some millisecs only, but noticable) whereas on my Ti400, the right edge of the window always is a straight line down.

    The window frame is not removed when shrinking the window leaving ghost frames all over it's trail that get cleared up some ms later.



    I believe that Apple has tried the approach of sacrificing some speed to sync with the vertical refresh to avoid torn window edges and white flashing when the content gets erased. They have certainly paid more attention to composing on the screen thereby avoiding ghost frames, patches of other windows appearing in the resizing window.



    On the other hand, Windows is firmly built with C++, yielding quite visibly more speed, MacOS-X is built on obj-C and the Cocoa class lib that could result in the garbage collector releasing out-of-use memory areas just when you are in the process of resizing a window. Furthermore, the NSView seems quite heavy on computation. I doubt this is going to be fixed completely in the future - just look at Java to see the same problems with swing-based UIs being sluggish because of the overhead of layout managers and such.

    It will be interesting to see how MS will fare with .NET and C#, a technology that features many of the dynamic aspects of obj-c and java. Judging from an in-house project here, they will do a better job overall, but lose a lot of the snappyness of the current interface.
  • Reply 58 of 63
    junkyard dawgjunkyard dawg Posts: 2,801member
    Quote:

    Originally posted by Aquatic



    Not that I'm complaining about that: beige machines and early iMacs and iBooks should be dropped like bricks. This might help Apple make OS X work nice with newer and newish hardware. But if windows don't resize right WITHOUT HARDWARE on a system bought this year, there is something wrong with that. I do NOT care what it is. It's wrong. And it should be fixed or changed.




    IMO windows that resize in an OS 9 fashion have something wrong with them. Not everyone puts the same value as you on high fps during window resizing. Yes, it bothers me, but not enough to leap up on a soapbox and start bellowing about how Apple wronged me by crippling OS X with slow window resize frame rates.
  • Reply 59 of 63
    junkyard dawgjunkyard dawg Posts: 2,801member
    Quote:

    Originally posted by johnsonwax

    Yes someting is wrong. Apple should be able to make resizing much faster.



    However, I can't help but wonder what the big deal is. Sure, it's a little slow, but come on, how much of our lives are lost to stuttery resizing? If its a matter of principle, then you probably know why it hasn't gotten done - Apple is probably better off fixing other problems that really do tie people down than this.



    Live window sizing is still valuable in it's current incarnation - you can still see what you get during the resize rather than having to repeat the operation over and over. That it's not silky smooth is a little annoying, but doesn't seem to hamper functionality in any way. Getting rid of it would be a loss of functionality, and probably be a greater annoyance.




    Amen, brotha! Finally a shot of perspective in the AI mainline.
  • Reply 60 of 63
    lundylundy Posts: 4,466member
    Quote:

    Originally posted by Big Mac Personally, I must imagine that technical barriers are only partially responsible for this malady. We know the issue was dealt with post 10.0, because Jobs specifically mentioned the resizing performance improvement in 10.1.



    And the fix in 10.1 was a kludge - rather than actually speeding up the window contents redraw, they pre-computed the area to the right and down of the window area as soon as there was a mousedown on the resize handle. This was easily seen by turning on Quartz Debug.



    I checked, and this hack is no longer present in Panther.



    No, as I said before, it DOESN'T really affect productivity. Yes, it would be nice to be able to swiftly drag a window resize handle a quarter inch and see the wndow expand that quarter inch in real-time so the user could get on with the next task they have in mind. I just tested a quarter-inch resize of a Safari window on this dual 1.0 gHz G4 and there is about a half-second lag between when I drag the handle where I want it and when the window "jumps" to that point. On the G3 500 mHz iBook, it is about four seconds. Hell, the original Macintosh 128K (16 mHz 68000) could compute and do an outline faster than that!



    As I said, and as I predicted, now we have replies asking why it is a big deal. IT ISN'T - for productivity. I just want to know how dual 2 gigaHertz procesors with a modern graphics card could POSSIBLY take hundreds of milliseconds to recompute a window contents. There are only 2 possibilities: 1) The OS deliberately only messages the window to update every few hundred milliseconds; or 2) There are literally BILLIONS of instructions being executed over and over, as a result of Cocoa's "Call-40-Subroutines-To-Draw-One-Pixel" frameworks.
Sign In or Register to comment.