152 | | * For laying out a paragraph text, we get the words one by one and create glyph vectors subsequently, then using their getLogicalBounds methods, we determine the sum of the widths of the vectors. If a vector does not fit in the space left, the whole word will be removed from the segment. If no words are laid out in the current segment, we try to lay out as many text runs as possible. If no runs can be laid out, we split the current TextRun and try again. This logic implements the common line-breaking policy in LineBreakMeasurer, which we currently use. |
| 152 | * For laying out a paragraph text, we get the words one by one and create glyph vectors subsequently, then using their getLogicalBounds methods, we determine the sum of the widths of the vectors. If a vector does not fit in the space left, the whole word will be removed from the segment. If no words are laid out in the current segment, we try to lay out as many text runs as possible. If no runs can be laid out, we split the current TextRun and try again. This logic implements the common word-breaking policy in LineBreakMeasurer, which we currently use. |
169 | | Results from TextPerformanceTest (in milliseconds): |
170 | | || Test || '''Task Branch''' || '''Trunk''' || |
171 | | || New text || 2507 || 4682 || |
172 | | || To string || 210 || 750 || |
173 | | || Get at || 511 || 1367 || |
174 | | || Replace (interval len: 1024) || 44 || 1483 || |
175 | | || Replace (interval len: 2048) || 11 || 1490 || |
176 | | || Replace (interval len: 4096) || 12 || 1475 || |
177 | | || Replace (interval len: 8192) || 13 || 1484 || |
178 | | || Replace (interval len: 16384) || 21 || 1495 || |
179 | | || Replace (interval len: 32768) || 54 || 1477 || |
180 | | || Replace (interval len: 65536) || 69 || 1487 || |
181 | | || Replace (interval len: 131072) || 148 || 1492 || |
182 | | || Replace (interval len: 262144) || 279 || 1507 || |
183 | | || Replace (interval len: 524288) || 557 || 1572 || |
184 | | || Replace (interval len: 1048576) || 1069 || 1643 || |
185 | | || Styled hash || 2750 || 1835 || |
186 | | || Walk through runs || 4813 || N/A || |
187 | | || Sub text || 0 || 0 || |
| 170 | * Some other tests were added: LayoutPerformanceTest and TextPerformanceTest. |
| 172 | * Currently broken features: |
| 173 | * Text persistence, import/export, copy/paste. |
| 174 | * Server Collaboration. |
| 175 | * Highlight/caret/link drawing. |
| 176 | * Caret updating (when you type text the caret does not move, when you press "Select All" and delete the text, assertionError occurs). |
| 177 | * Text justification. |
| 178 | * Search in chained frames. |
| 179 | |
| 180 | * The text model seems to work quite faster, related to the trunk one. |
| 181 | * The layout is also much faster, but we expect to be slowed down quite a lot during the next task (the post-processor will need time to process texts). |