mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
The Servo Browser Engine
This PR makes text runs store the results of shaping as a vector of ARC<GlyphStore>; each element of the vector holds the shaped glyphs for a nonbreakable unit of text (basically a word). This change allows us to cache the shaped glyphs for the words, an approach that Gecko (and probably WebKit) uses. We get pretty good cache hit ratios even on the first run of layout for a page (I saw 62% on Wikipedia's main page today), although a lot of that is due to whitespace. This really comes into its own on subsequent layout runs, though, which are completely cached in the typical case. |
||
---|---|---|
mk | ||
src | ||
.gitignore | ||
.gitmodules | ||
configure | ||
Info.plist | ||
LICENSE | ||
Makefile.in | ||
README.md |
The Servo Parallel Browser Project
Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64bit OS X and 64bit Linux.
Prerequisites
On OS X (homebrew):
brew install https://raw.github.com/Homebrew/homebrew-versions/master/autoconf213.rb
brew install automake libtool
brew install pkg-config
On OS X (MacPorts):
sudo port install autoconf213
On Debian-based Linuxes:
sudo apt-get install autoconf2.13 curl freeglut3-dev libtool libfreetype6-dev libfontconfig1-dev libgl1-mesa-dri libglib2.0-dev
Servo builds its own copy of Rust, so there is no need to provide a Rust compiler.
Building
git clone git://github.com/mozilla/servo.git
cd servo
mkdir -p build && cd build
../configure
make && make check
./servo ../src/test/html/about-mozilla.html