| Index: site/user/tips.md
|
| diff --git a/site/user/tips.md b/site/user/tips.md
|
| index 41536211e18b14a551f550adc7c1f43efc1ab617..ed701792dd6ded8ad794422ffad86ec095a3271a 100644
|
| --- a/site/user/tips.md
|
| +++ b/site/user/tips.md
|
| @@ -1,12 +1,62 @@
|
| Tips & FAQ
|
| ==========
|
|
|
| -Tips and Tricks
|
| ----------------
|
| +<span id="gypdefines"></span>
|
| +
|
| +Gyp Options
|
| +-----------
|
| +
|
| +When running `sync-and-gyp`, the `GYP_DEFINES` environment variable can
|
| +be used to change Skia’s compile-time settings, using a
|
| +space-separated list of key=value pairs. For example, to disable both
|
| +the Skia GPU backend and PDF backends, run it as follows:
|
| +
|
| +<!--?prettify lang=sh?-->
|
| +
|
| + GYP_DEFINES='skia_gpu=0 skia_pdf=0' python bin/sync-and-gyp
|
| + ninja -C out/Debug
|
| +
|
| +Note: Setting enviroment variables in the Windows CMD.EXE shell [uses a
|
| +different syntax](/user/quick/windows#env).
|
| +
|
| +You can also set environment variables such as `CC`, `CXX`,
|
| +`CFLAGS`, or `CPPFLAGS` to control how Skia is compiled. For
|
| +example:
|
| +
|
| +<!--?prettify lang=sh?-->
|
| +
|
| + CC='clang' CXX='clang++' python bin/sync-and-gyp
|
| + ninja -C out/Debug
|
| +
|
| +The `GYP_GENERATORS` environment variable can be used to set the
|
| +build systems that you want to use (as a comma-separated list).
|
| +The default is `'ninja,msvs-ninja'` on Windows, `'ninja,xcode'` on
|
| +Mac OS X, and just `'ninja'` on Linux. For example, to generate
|
| +only Ninja files on Mac:
|
| +
|
| +<!--?prettify lang=sh?-->
|
| +
|
| + GYP_GENERATORS='ninja' python bin/sync-and-gyp
|
| + ninja -C out/Debug
|
| +
|
| +Finally, the `SKIA_OUT` environment variable can be used to set
|
| +the path for the build directory. The default is `out` inside the
|
| +top-level Skia source directory. For example to test Skia with
|
| +two different compilers:
|
| +
|
| +<!--?prettify lang=sh?-->
|
| +
|
| + CC='clang' CXX='clang++' SKIA_OUT=~/build/skia_clang python bin/sync-and-gyp
|
| + CC='gcc' CXX='g++' SKIA_OUT=~/build/skia_gcc python bin/sync-and-gyp
|
| + ninja -C ~/build/skia_clang/Debug
|
| + ninja -C ~/build/skia_gcc/Debug
|
| +
|
| +* * *
|
|
|
| <span id="bitmap-subsetting"></span>
|
|
|
| -### Bitmap Subsetting
|
| +Bitmap Subsetting
|
| +-----------------
|
|
|
| Taking a subset of a bitmap is effectively free - no pixels are copied or
|
| memory is allocated. This allows Skia to offer an API that typically operates
|
| @@ -22,8 +72,8 @@ drawBitmapNine():
|
|
|
| <span id="skp-capture"></span>
|
|
|
| -### Capturing a `.skp` file on a web page in Chromium.
|
| -
|
| +Capture a `.skp` file on a web page in Chromium
|
| +-----------------------------------------------
|
|
|
| 1. Launch Chrome or Chromium with `--no-sandbox --enable-gpu-benchmarking`
|
| 2. Open the JS console (ctrl-shift-J)
|
| @@ -47,32 +97,32 @@ or use Skia's `SampleApp` to view it:
|
|
|
| * * *
|
|
|
| -FAQ
|
| ----
|
| -
|
| <span id="hw-acceleration"></span>
|
|
|
| -### Does Skia support HW acceleration?
|
| +How to add hardware acceleration in Skia
|
| +----------------------------------------
|
|
|
| -There are two ways Skia can take advantage of HW.
|
| +There are two ways Skia takes advantage of specific hardware.
|
|
|
| -1. Subclass SkCanvas
|
| +1. Subclass SkCanvas
|
|
|
| -Since all drawing calls go through SkCanvas, those calls can be redirected to
|
| -a different graphics API. SkGLCanvas has been written to direct its drawing
|
| -calls to OpenGL. See src/gl/
|
| + Since all drawing calls go through SkCanvas, those calls can be
|
| + redirected to a different graphics API. SkGLCanvas has been
|
| + written to direct its drawing calls to OpenGL. See src/gl/
|
|
|
| -2. Custom bottleneck routines
|
| +2. Custom bottleneck routines
|
|
|
| -There are sets of bottleneck routines inside the blits of Skia that can be
|
| -replace on a platform in order to take advantage of specific CPU features. One
|
| -such example is the NEON SIMD instructions on ARM v7 devices. See src/opts/
|
| + There are sets of bottleneck routines inside the blits of Skia
|
| + that can be replace on a platform in order to take advantage of
|
| + specific CPU features. One such example is the NEON SIMD
|
| + instructions on ARM v7 devices. See src/opts/
|
|
|
| * * *
|
|
|
| <span id="font-hinting"></span>
|
|
|
| -### Does Skia support Font hinting?
|
| +Does Skia support Font hinting?
|
| +-------------------------------
|
|
|
| Skia has a built-in font cache, but it does not know how to actual render font
|
| files like TrueType? into its cache. For that it relies on the platform to
|
|
|