
Vladimir Vukićević has posted on the action improvements of Firefox 3 on the Mac, and how digit hack, albeit “dangerous” has helped ton. Vladamir says:
While figuring every this out, I detected that Safari/WebKit didn’t seem to be strained by this framerate container — the fps cadence when Safari was streaming the aforementioned criterion blithely went up beyond 60fps. After I institute the plist entry, I patterned Safari’s plist and was astonied to conceive that they didn’t hit this unhealthful in there. Doing whatever more searching, I institute this cipher in WebKit. Apparently, there is a artefact to do this programatically, along with whatever another engrossing things same enabling pane update pass throttling (though it’s blurred what that means!) — but exclusive if you’re Apple.
All these WK* methods are undocumented, and they materialize in star blobs shipped along with the WebKit maker (see the WebKitLibraries directory). There are today over 100 clannish “OS-secrets-only-WebKit-knows” in the library, whatever of which are referred to in a mostly comment-free brick file. Reading the WebKit cipher is pretty interesting; there are every sorts of potentially multipurpose Cocoa internals bits you crapper garner up, more easily on the Objective C lateral (e.g. wager for “AppKitSecretsIKnow” in the code), but also in another areas as a money of these WK* methods utilised in quite a whatever places. Would whatever another apps same to verify plus of whatever of that functionality? I’m pretty trusty the respond there is yes, but they can’t. It’s not modify country low what authorise libWebKitSystemInterface is provided, so that another apps crapper undergo if they crapper unification to it.
David Hyatt, the guru advance of Webkit/Safari commented:
The programmatic unhealthful of coalesced updates should not be open API. It’s actually a rattling chanceful abstract to do. We aren’t rattling bright with that cipher in WebKit, but we had to do it to refrain action regressions in apps that embedded WebKit. Technically it’s criminal though, since we invoke soured the coalesced updates for whatever app that uses WebKit! This includes art they do that doesn’t modify ingest WebKit.
As for the pane pass throttling, that was a pref fashioned for Safari (that we don’t modify ingest whatever more). It’s not clannish or magic. It’s null more than a pref that we crapper investigate from Safari-land, so linking to that is meet silly.
Many of the clannish methods that WebKit uses are clannish for a reason. Either they guy interior structures that can’t be depended on, or they are conception of something exclusive a support that haw not be full formed. WebKit subclasses individual clannish NSView methods for example, and it outlay us whatever some Negro hours to care with the regressions caused by the interior changes that were prefabricated to NSViews in Leopard.
As you yourself blogged, there was a totally unexceptionable open artefact of doing what you necessary to do.
For whatever clannish methods we ingest that we conceive should be public, we (the WebKit team) enter bugs on the pertinent grouping components. Many of these methods hit embellish open over instance (CG clog in Leopard for example). Be certain when you take into WebKit code, since we haw move to ingest the WK method modify though it’s not open API meet because we requirement to impact on Tiger.
Robert O’Callahan is much more battleful and claims platform tilt:
The maker to the WK wrappers is not available; the implementations are in a star blob accumulation that you download with the Webkit sources. It appears the mend determine of approaching the maker to this accumulation is to conceal the signatures of the unsupported support APIs utilised by Webkit, presumably so that ISVs same us can’t ingest them.
…
A key conception of Webkit on Mac is kept advisedly winking maker by Apple. That’s unfortunate. Instead of hiding the source, a much more cordial contract for Apple would be to attain these APIs open as a concern of course. They haw debate that there are melting APIs that they don’t poverty exposed, but there are structure around that, much as by attachment symbolisation obloquy to limited OS versions (CGContextFooBar_10_4?) and auspicious they’ll meet not be there in forthcoming versions.
It’s worth reflecting that if Microsoft was doing this, they’d probable be hauled before a judge, in the EU if not the US. In fact I can’t request Microsoft ever actuation soured an undocumented-API-fest of this magnitude.
WebKit flies on my Mac, and Firefox 3 has nearly caught up. The modify termination is that I am pretty bright with how browsers are rising their performance, and I am trusty there is a aggregation more to see.