• LongCatIsLooong's avatar
    Improve `TextPainter.layout` caching (#118128) · 62e78bf1
    LongCatIsLooong authored
    Improves `TextPainter.layout` caching when only the input constraints change: 
    - removes the double layout calls in `TextPainter._layoutParagraph`: now double layout is only needed when `TextAlign` is not left, and the input `maxWidth == double.infinity`.  
    - skip calls to `ui.Paragraph.layout` when it's guaranteed that there's no soft line breaks before/after the layout call.
    
    This doesn't introduce new APIs but may slightly shift text rendered on screen.
    This reduces the number of `layout` calls but since shaping results are already cached so it only skips the relatively cheap line-breaking process when possible.
    
    528 scuba failures but all of them seem reasonable.
    62e78bf1
Name
Last commit
Last update
..
lib Loading commit data...
test Loading commit data...
test_fixes Loading commit data...
test_private Loading commit data...
test_profile Loading commit data...
test_release Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
analysis_options.yaml Loading commit data...
build.yaml Loading commit data...
dart_test.yaml Loading commit data...
pubspec.yaml Loading commit data...