Ha.
http://tech.slashdot.org/story/09/11/03/1334203/X11-Chrome-Reportedly-Outperforms-Windows-and-Mac-Versions

On Fri, Oct 30, 2009 at 9:44 AM, Linus Upson <li...@google.com> wrote:

> scrolling jank in gmail
> http://crbug.com/25741
>
> Linus
>
>
> On Wed, Oct 28, 2009 at 12:05 PM, Adam Barth <aba...@chromium.org> wrote:
>
>>
>> On Wed, Oct 28, 2009 at 8:05 AM, Evan Martin <e...@chromium.org> wrote:
>> > General comments: Linux tends to be "lighter" which means it does
>> > better on older hardware, so depending on what sorts of laptops you're
>> > talking about that could be a major factor.  Windowses later than 2000
>> > or so need surprising amounts of hardware to run well.  (I don't
>> > mention Mac below because there hasn't been much performance work
>> > there yet.)
>>
>> I pulled out the laptops side-by-side to be more scientific about
>> this.  Here are the stats:
>>
>> XP: 2GB RAM, Core2 Duo, 2.00 GHz
>> Ubuntu 9.10: 2GB RAM, Core 2 Duo, 2.40 GHz
>>
>> So, the Linux machine as 20% more CPU to work with.
>>
>> >> 1) Scroll performance is extremely good.  Even on Gmail, I can only
>> >> get the mouse to lead the scroll bar by a dozen pixels.  On Slashdot,
>> >> it doesn't even look like I can do that.
>> >
>> > On "plain" pages (one scrollbar on the right, no Flash) scrolling is
>> > literally shifting the pixels down.  On Linux we do this by sending a
>> > command to the X server, which is a single process that even has the
>> > graphics drivers built in so it talks directly to your graphics card
>> > and can in theory do a hardware-accelerated copy.  I would expect this
>> > to be pretty fast.
>>
>> Looking at this more carefully, scroll performance on Slashdot is
>> great in both Windows and Linux.  On Gmail (no chat mole), there's a
>> noticeable difference.  Here's a visualization of the numb on the
>> scroll bar:
>>
>> ||
>> ||
>> ||
>> ||
>> ||
>> ||
>> --  <-- Click here and pull down
>> --
>> --  <-- Linux: mouse latency gets to here
>> ||
>> ||  <-- Windows: mouse latency gets to here
>> ||
>> ||
>> ||
>> ||
>>
>> Admittedly, it's hard to see precisely, but it affects the "feel."
>> Scroll on Windows feels slightly heavier.
>>
>> >> 2) Tab creation is very fast.  Maybe the zygote is helping here?  Can
>> >> we pre-render the NTP on other platforms?
>> >
>> > The zygote is paused right at process start, before we've even started
>> > a renderer.  On the other hand Windows process creation is more
>> > expensive.
>> >
>> > There is a "new tab" graph that attempts to measure this.  The various
>> > lines on the graph are tracking how quickly we get to each stage in
>> > constructing the page.  We hit the first line 20ms faster on Linux
>> > than Windows likely due to the zygote and "slow" Windows process
>> > creation, but process startup seems to be a relatively small part of
>> > the total time.  Linux hits other lines later and Linux and Windows
>> > hit the finish line at around the same time.
>>
>> So, I retried this with a fresh profile on both.  The differences are
>> not as dramatic as I remember.  I can't actually see a difference when
>> I run them side-by-side.
>>
>> >> 3) Startup time is faster than calculator.
>> >
>> > I'm not sure if you're kidding.  Do you mean Windows calculator?
>>
>> I meant Linux calculator.
>>
>> > In the limit, I'd expect us to pay a lot more on Linux due to using
>> > more libraries, GTK initialization, round trips to the X server, etc.
>> > but I don't know much about Windows here.
>>
>> I tried turning on the GTK theme.  That killed startup performance.
>>
>> Side-by-side startup easily noticeably faster in Linux.  To be more
>> precise, drawing the first pixel is noticeably faster.  Total startup
>> time is harder to say.
>>
>> Interestingly startup drawing is different between Windows and Linux.
>> We might want to film with a high-speed camera to see exactly what's
>> going on, but here are my impressions:
>>
>> Linux draw order:
>> 1) Fill entire window with blue (This looks bad, can we use a
>> different color? White?).
>> 2) Paint main UI widgets, including NTP.
>> 3) Paint NTP thumbnails.
>> I bet that (2) is actually broken in to two pieces, I just can't see it.
>>
>> Window draw order:
>> 1) Paint NC region (the blue border around the edge).
>> 2) Paint main UI widgets (without omnibox).
>> 3) Blit NTP content area (the sweep from top to bottom is noticeable).
>> 4) Paint omnibox.
>> 5) Paint NTP thumbnails.
>>
>> Keep in mind that this all happens very fast, so I could be imagining
>> things.
>>
>> Ideas for improving perceived windows startup time:
>>
>> 1) Draw a fake omnibox with the rest of the main UI widgets.
>> Currently we draw the omnibox really late and it looks slow and bad.
>> You can see this if you have a dark desktop wallpaper and you focus on
>> where the omnibox will be.  You'll see a dark rectangle inside the
>> main toolbar which is the desktop showing through.  We should never
>> show a dark rectangle there.
>>
>> 2) Fill the main content area with white when drawing the main UI
>> widgets.  You can see this if you focus on the bottom of where the
>> bookmark bar is going to be (especially when the bookmark bar is set
>> to show only on the NTP).  You'll see an edge there when the bookmark
>> bar is draw by while the main content area is still transparent.
>> There's no reason we should ever paint an edge there.
>>
>> I bet the reason Windows startup feels slower is whatever drawing
>> operation we're using for the main content area is slow.  The
>> top-to-bottom sweep probably makes me feel like the browser isn't
>> loaded until the sweep reaches the bottom, whereas I feel like Linux
>> is done earlier in its startup sequence.
>>
>> Adam
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to