[webkit-dev] setTimeout as browser speed throttle
Darin Adler
darin at apple.com
Tue Sep 30 13:58:50 PDT 2008
This debate is not new. We tried this in WebKit, when we first
released Safari.
We repeatedly encountered pages that behaved well in other browsers
and did not behave well in Safari, and the root problem was that they
had an effective minimum timer value.
It's arrogant to say that it's a website problem. Until the browser
has a large market share, almost all misbehaving sites are browser
problems, not website problems.
We saw similar issues with GIF frame timing before we got the minimums
right there too.
> This still implies there is a meaningful compatibility hit to making
> this change. I have not yet seen any reason to agree that is the
> case (in the sense of "CPU usage is not a web compatibility issue").
This is an incorrect straw man argument that you're putting forward
repeatedly and forcefully.
We started the Safari project with the naive view that there was no
need for a minimum timer value. Then we changed this in WebKit because
of sites that were misbehaving and real bug reports. The new value is
clearly close enough to the value in the top market share browsers
that these incompatibilities are effectively a thing of the past.
Unless we bring them back by removing that minimum again!
You keep stating that CPU usage isn't "a compatibility problem" and
that these concerns were not real. But that seems to be an unimportant
semantic distinction. We had to do this to get Safari to behave
properly with many real websites. I'm sorry that it's difficult to
quickly find examples now, but I trust there are still many sites out
there with this issue.
After the many years of the challenging task of fixing incompatible
websites one at a time, I'm loathe to undo a change that was made to
fix specific websites. Some of the value in the WebKit project is the
accumulated knowledge about what matters in practice for
compatibility. This is definitely one of those things.
-- Darin
More information about the webkit-dev
mailing list