OLD | NEW |
1 Runtime Configuration | 1 Runtime Configuration |
2 ===================== | 2 ===================== |
3 | 3 |
4 Skia supports the configuration of various aspects of its behavior at runtime, | 4 Skia supports the configuration of various aspects of its behavior at runtime, |
5 allowing developers to enable\/disable features, or to experiment with numerical | 5 allowing developers to enable\/disable features, or to experiment with numerical |
6 quantities without recompiling. | 6 quantities without recompiling. |
7 | 7 |
8 ## Enabling runtime configuration | 8 ## Enabling runtime configuration |
9 | 9 |
10 In order to use a runtime-configurable variable in your source, simply: | 10 In order to use a runtime-configurable variable in your source, simply: |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 line will be commented out and have its value already equal to its default, so | 145 line will be commented out and have its value already equal to its default, so |
146 you can then edit this file to your liking. | 146 you can then edit this file to your liking. |
147 | 147 |
148 To trigger this behavior, call the function | 148 To trigger this behavior, call the function |
149 `skRTConfRegistry().possiblyDumpFile(); ` or simply use `SkAutoGraphics | 149 `skRTConfRegistry().possiblyDumpFile(); ` or simply use `SkAutoGraphics |
150 ag;`, which also validates your configuration and print out active non-default | 150 ag;`, which also validates your configuration and print out active non-default |
151 options. | 151 options. |
152 | 152 |
153 ## Are these things enabled all the time? | 153 ## Are these things enabled all the time? |
154 | 154 |
155 No, they are only enabled in builds where SK_DEBUG is defined. This includes bot
h | 155 In `Debug` builds, yes. `Release` builds disable runtime configuration by |
156 `Debug` and `Release_Developer` gyp BUILDTYPES. The `Release_Developer` build ty
pe | 156 default, but it is still useful to be able to tweak certain algorithm parameters |
157 has exactly the same build flags as `Release`, except it re-enables SK_DEBUG, wh
ich | 157 at runtime to do scripted performance studies. Therefore, a third build type, |
158 in turn enables runtime configuration behavior. | 158 `Release_Developer` has been added. This build type has exactly the same build |
| 159 flags as `Release`, except it re-enables all runtime configuration behavior. |
159 Specifically: | 160 Specifically: |
160 | 161 |
161 <!--?prettify?--> | 162 <!--?prettify?--> |
162 ~~~~ | 163 ~~~~ |
163 prompt% ninja -C BUILDTYPE=Release_Developer | 164 prompt% ninja -C BUILDTYPE=Release_Developer |
164 ~~~~ | 165 ~~~~ |
165 | 166 |
166 ... wait a long time ... | 167 ... wait a long time ... |
167 | 168 |
168 <!--?prettify?--> | 169 <!--?prettify?--> |
169 ~~~~ | 170 ~~~~ |
170 prompt % skia_gpu_printShaders=true out/Release_Developer/dm | 171 prompt % skia_gpu_printShaders=true out/Release_Developer/dm |
171 ~~~~ | 172 ~~~~ |
172 | 173 |
173 ... enjoy ... | 174 ... enjoy ... |
174 | 175 |
175 ## Known issues / limitations | 176 ## Known issues / limitations |
176 | 177 |
177 Lines in 'skia.conf', including comments, are limited to 1024 characters. | 178 Lines in 'skia.conf', including comments, are limited to 1024 characters. |
178 Runtime configuration variables of type `char \* ` cannot currently have spaces | 179 Runtime configuration variables of type `char \* ` cannot currently have spaces |
179 in them. | 180 in them. |
180 Runtime variables are only fully supported for `int`, `unsigned int`, `float`, | 181 Runtime variables are only fully supported for `int`, `unsigned int`, `float`, |
181 `double`, `bool`, and `char \*`. | 182 `double`, `bool`, and `char \*`. |
| 183 |
| 184 ## Questions? Bugs? Improvements? |
| 185 |
| 186 Feel free to send feedback on this system to Greg Humphreys \(humper@google\.com
\) |
OLD | NEW |