| 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 |