You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here's a sample trace from XamlCatalog's custom text view, on top of changes from #1603, and an experimental fix for #1620. When we get deep into the spiral, the view begins to lag. Tracing shows that the primary bottleneck seems to be in drawInRect:, with the time being spent in CFRelease and CGPathRetain sticking out.
Uncertain exactly how tractable things under _DWriteGetFrame() itself are. I pointed out a few potential improvements in closing comments for #1374, but for the most part there are no super-egregious bottlenecks.
ms-jihua
added a commit
to ms-jihua/WinObjC
that referenced
this issue
Jan 4, 2017
Found while checking CTCatalog affine transform test.
In cases of longer strings, _DWriteGetFrame() spends an inordinate amount of time in:
_DWriteGetFrame (~30%) -> [NSString substring...] (~27%) -> [NSString _fastestEncodingWith...] (~25%) (sample trace)
Changed this function to not call [self length] every iteration, fetch characters in chunks.
After this change, the same test looks like:
_DWriteGetFrame (~5%) -> [NSString substring...] (~1.2%) -> [NSString _fastestEncodingWith...] (~0.5%) (sample trace)
Related to microsoft#1621
Found while checking CTCatalog affine transform test.
In cases of longer strings, _DWriteGetFrame() spends an inordinate amount of time in:
_DWriteGetFrame (~30%) -> [NSString substring...] (~27%) -> [NSString _fastestEncodingWith...] (~25%) (sample trace)
Changed this function to not call [self length] every iteration, fetch characters in chunks.
After this change, the same test looks like:
_DWriteGetFrame (~5%) -> [NSString substring...] (~1.2%) -> [NSString _fastestEncodingWith...] (~0.5%) (sample trace)
Related to #1621
No description provided.
The text was updated successfully, but these errors were encountered: