Status Update
Comments
pd...@chromium.org <pd...@chromium.org> #2
The majority of the time is spent creating PlainTextRanges multiple times on every input.
yo...@chromium.org <yo...@chromium.org> #3
xiaochengh@, could you take look? yet another speed issue.
xi...@chromium.org <xi...@chromium.org> #4
I indeed observed some lags compared to Safari and Firefox, but cannot reproduce those huge lags at sec level as reported in #1. My tests were done on Linux ToT (50.0.2637.0) and OSX Canary (50.0.2636.0). I got consistent result as stated below.
Typing each letter took ~100ms (which is slow compared to the other browsers). I could not identify a unique root cause of the lag, though. Some slow operations are |FrameView::layout| and |ThreadProxy::BeginMainFrame|, which constituted ~1/3 of the overall running time.
Typing each letter took ~100ms (which is slow compared to the other browsers). I could not identify a unique root cause of the lag, though. Some slow operations are |FrameView::layout| and |ThreadProxy::BeginMainFrame|, which constituted ~1/3 of the overall running time.
pd...@chromium.org <pd...@chromium.org> #5
xiaochengh, from my profile results, it looks like there is no single root cause, just multiple instances of duplicated work. Is that what you are seeing too?
xi...@chromium.org <xi...@chromium.org> #6
pdr@: I'm not sure if it's duplicated work as I didn't see the same function called for multiple times in one typing operation.
There is still a lot of blank space in the profiling result. We need more traces.
There is still a lot of blank space in the profiling result. We need more traces.
pd...@chromium.org <pd...@chromium.org> #7
I added trace events to TextIterator::createPlainText and PlainTextRange::create* and recorded a trace. In the attached trace you can see the multiple calls to create ranges for just a single input.
xi...@chromium.org <xi...@chromium.org> #8
I see. That is consistent with what I observed.
I'll handle it.
Thanks for the excellent report!
I'll handle it.
Thanks for the excellent report!
om...@gmail.com <om...@gmail.com> #9
Hi guys,
We run a service called Remember The Milk, and we're seeing a similar, but not identical issue. I don't know what to do about it -- but it's affecting some of our users ability to use our web app...
It seems that if a (e.g.) Japanese user tries to type more than 15 Japanese characters into our "Smart Add" field (which is a fancy contenteditable), Chrome starts using 100% of CPU doing what appears to be nothing. Moving the cursor in the field is extremely slow, and bluring the field does not help -- the entire page becomes quite unresponsive.
This string works fine (no slow down):
すべてのタスクすべてのタスクす
But this string causes Chrome to freak out:
すべてのタスクすべてのタスクすべ
I've tried to isolate the issue and it seems to only happen on:
Chrome 48.0.2564.109 (64-bit) running on OS X 10.11.3.
It doesn't happen on Chrome 49 or 50 on OS X.
It doesn't happen on Chrome 48 running Ubuntu, or Windows 10.
I don't know if it's related to this issue or not, but I thought I'd mention it -- I've been trying to find a work around without much success.
Thanks!
We run a service called Remember The Milk, and we're seeing a similar, but not identical issue. I don't know what to do about it -- but it's affecting some of our users ability to use our web app...
It seems that if a (e.g.) Japanese user tries to type more than 15 Japanese characters into our "Smart Add" field (which is a fancy contenteditable), Chrome starts using 100% of CPU doing what appears to be nothing. Moving the cursor in the field is extremely slow, and bluring the field does not help -- the entire page becomes quite unresponsive.
This string works fine (no slow down):
すべてのタスクすべてのタスクす
But this string causes Chrome to freak out:
すべてのタスクすべてのタスクすべ
I've tried to isolate the issue and it seems to only happen on:
Chrome 48.0.2564.109 (64-bit) running on OS X 10.11.3.
It doesn't happen on Chrome 49 or 50 on OS X.
It doesn't happen on Chrome 48 running Ubuntu, or Windows 10.
I don't know if it's related to this issue or not, but I thought I'd mention it -- I've been trying to find a work around without much success.
Thanks!
om...@gmail.com <om...@gmail.com> #10
Ah, one thing I forgot to mention is that adding a space in the middle of the string fixes it. I.e.:
BAD: すべてのタスクすべてのタスクすべ
GOOD: すべてのタスク すべてのタスクすべ
No idea why.
BAD: すべてのタスクすべてのタスクすべ
GOOD: すべてのタスク すべてのタスクすべ
No idea why.
xi...@chromium.org <xi...@chromium.org> #11
omar.kilani: I tried to reproduce with <div contenteditable="true"> but failed. The OS and Chrome version are the same as in your report. Maybe it requires a more complicated test case?
It also seems to be an already fixed issue, as it doesn't reproduce with Chrome 49 or 50.
yosin@: What do we need to do for such cases?
It also seems to be an already fixed issue, as it doesn't reproduce with Chrome 49 or 50.
yosin@: What do we need to do for such cases?
tk...@chromium.org <tk...@chromium.org> #12
[Empty comment from Monorail migration]
tk...@chromium.org <tk...@chromium.org> #13
[Empty comment from Monorail migration]
te...@gmail.com <te...@gmail.com> #15
I see this as well. What I find to be a good check is to try holding down a key, and let it auto repeat. On Firefox, it'll just repeat. On Chrom(ium), you get multiple letters at a time, and then input continues on after you let up on the key.
I was running into this bug trying to make a textbox autoresize. I note that I can't do it using javascript on a textarea (using the input event and scrollHeight), and I can't do it using a contenteditable div. Both lag tremendously, and the lag only gets worse the more you type.
I mention this, in case one is connected to the other.
I was running into this bug trying to make a textbox autoresize. I note that I can't do it using javascript on a textarea (using the input event and scrollHeight), and I can't do it using a contenteditable div. Both lag tremendously, and the lag only gets worse the more you type.
I mention this, in case one is connected to the other.
ge...@gmail.com <ge...@gmail.com> #16
Hi all
Windows 10, Chrome 57.0.2987.133 (64-bit)
I can reproduce test mentioned in #1http://jsbin.com/mifaro
Plus, I've made perhaps a less obvious test-case - took a wikipedia article about NASA and copied it into <div contenteditable="true"> and compared text editing withing the article Chrome VS Firefox.
Here is youtube video of my fast typinghttps://youtu.be/goka0_Z-RLo
Attached is a file I used for tests.
Similar behavior is seen on macOS.
Safari and Firefox are lightning fast compared to Chrome when it comes to editing text in contenteditable div.
If I can be of more help solving this issue - please, do let me know.
Windows 10, Chrome 57.0.2987.133 (64-bit)
I can reproduce test mentioned in #1
Plus, I've made perhaps a less obvious test-case - took a wikipedia article about NASA and copied it into <div contenteditable="true"> and compared text editing withing the article Chrome VS Firefox.
Here is youtube video of my fast typing
Attached is a file I used for tests.
Similar behavior is seen on macOS.
Safari and Firefox are lightning fast compared to Chrome when it comes to editing text in contenteditable div.
If I can be of more help solving this issue - please, do let me know.
xi...@chromium.org <xi...@chromium.org> #17
Whoops, we missed this one in our meta issue.
ge...@gmail.com <ge...@gmail.com> #18
Hi, any plans on this one? Like deadlines or something? It's really a work-stopper.
xi...@chromium.org <xi...@chromium.org> #19
Editing code has changed a lot since this bug was reported. On the latest Canary (60.0.3073.0), with http://jsbin.com/mifaro , tracing shows that the slowness is due to:
1. Typing each character requires clean layout
2. Each layout update takes a long time
With the current architecture, it's hard to improve the performance by locally optimizing some small piece of code -- Basically all editing code requires clean layout, and one layout update can't be further reduced.
We have a re-architecture project for editing code, which should give us some possibilities to fix this issue. Seehttps://crbug.com/chromium/707656 .
1. Typing each character requires clean layout
2. Each layout update takes a long time
With the current architecture, it's hard to improve the performance by locally optimizing some small piece of code -- Basically all editing code requires clean layout, and one layout update can't be further reduced.
We have a re-architecture project for editing code, which should give us some possibilities to fix this issue. See
ge...@gmail.com <ge...@gmail.com> #20
[Comment Deleted]
ge...@gmail.com <ge...@gmail.com> #21
And this approximates us to dates like... 2017...? 2018? :)
Thanks!
P.S.
Wouldn't it make sense to do at least something similar to JS's debounce or throttle on such events like keypress/charinput?
Thanks!
P.S.
Wouldn't it make sense to do at least something similar to JS's debounce or throttle on such events like keypress/charinput?
be...@chromium.org <be...@chromium.org> #22
[Empty comment from Monorail migration]
yo...@chromium.org <yo...@chromium.org> #23
[Empty comment from Monorail migration]
ga...@gmail.com <ga...@gmail.com> #24
[Comment Deleted]
ga...@gmail.com <ga...@gmail.com> #25
2018 and it still the same...
yo...@chromium.org <yo...@chromium.org> #26
[Empty comment from Monorail migration]
yo...@chromium.org <yo...@chromium.org> #27
[Empty comment from Monorail migration]
yo...@chromium.org <yo...@chromium.org> #28
Since the slowdown comes from layouting in block, separating a content
into multiple divs is a workaround:
<div contenteditable>
<div>so much characters,,, </div>
<div>let user edit here</div>
</div>
On that, input latency takes about 26 milliseconds on latest canary
(Version 69.0.3460.0), which is 10x faster than the one w/o the workaround.
into multiple divs is a workaround:
<div contenteditable>
<div>so much characters,,, </div>
<div>let user edit here</div>
</div>
On that, input latency takes about 26 milliseconds on latest canary
(Version 69.0.3460.0), which is 10x faster than the one w/o the workaround.
ga...@gmail.com <ga...@gmail.com> #29
Found out that Chromium(and Chrome) is also A LOT(really really LOT) slower to paste a huge text in those content editable elements than other browsers.
While others(like edge) would paste the whole text(2 million characters) in a second, keeping the page responsive while waiting the text be completely loaded, chrome/Chromium didn't in over 1 minute, and the page freezes.
While others(like edge) would paste the whole text(2 million characters) in a second, keeping the page responsive while waiting the text be completely loaded, chrome/Chromium didn't in over 1 minute, and the page freezes.
yo...@chromium.org <yo...@chromium.org> #30
CPU performance analysis by VS2018
Function Name Total CPU [unit, %] Self CPU [unit, %] Module
| - base::RunLoop::Run 53024 (92.54%) 0 (0.00%) content_shell.exe
| - base::`anonymous namespace'::ThreadFunc 52933 (92.39%) 0 (0.00%) content_shell.exe
| - base::debug::TaskAnnotator::RunTask 52668 (91.92%) 10 (0.02%) content_shell.exe
| - base::MessagePumpWin::Run 52430 (91.51%) 0 (0.00%) content_shell.exe
| - base::Thread::ThreadMain 52385 (91.43%) 0 (0.00%) content_shell.exe
| - base::MessageLoop::RunTask 52327 (91.33%) 6 (0.01%) content_shell.exe
| - base::MessagePumpForUI::DoRunLoop 51562 (89.99%) 5 (0.01%) content_shell.exe
| - base::sequence_manager::internal::ThreadControllerImpl::DoWork 50702 (88.49%) 3 (0.01%) content_shell.exe
| - content::QueuedWebInputEvent::Dispatch 46971 (81.98%) 0 (0.00%) content_shell.exe
| - content::MainThreadEventQueue::HandleEventOnMainThread 46969 (81.98%) 0 (0.00%) content_shell.exe
| - content::RenderWidget::HandleInputEvent 46969 (81.98%) 0 (0.00%) content_shell.exe
| - content::RenderWidgetInputHandler::HandleInputEvent 46968 (81.97%) 1 (0.00%) content_shell.exe
| - blink::WebViewImpl::HandleInputEvent 46915 (81.88%) 0 (0.00%) content_shell.exe
| - blink::PageWidgetDelegate::HandleInputEvent 46913 (81.88%) 0 (0.00%) content_shell.exe
| - blink::EventDispatcher::DispatchEvent 46808 (81.70%) 1 (0.00%) content_shell.exe
| - blink::KeyboardEventManager::KeyEvent 46805 (81.69%) 1 (0.00%) content_shell.exe
| - blink::EventDispatcher::Dispatch 46799 (81.68%) 1 (0.00%) content_shell.exe
| - blink::EventDispatcher::DispatchEventPostProcess 46792 (81.67%) 1 (0.00%) content_shell.exe
| - blink::WebViewImpl::HandleCharEvent 46792 (81.67%) 0 (0.00%) content_shell.exe
| - blink::KeyboardEventManager::DefaultKeyboardEventHandler 46791 (81.67%) 1 (0.00%) content_shell.exe
| - blink::Editor::HandleEditingKeyboardEvent 46790 (81.66%) 0 (0.00%) content_shell.exe
| - blink::Editor::HandleKeyboardEvent 46790 (81.66%) 0 (0.00%) content_shell.exe
| - blink::EventHandler::HandleTextInputEvent 46778 (81.64%) 0 (0.00%) content_shell.exe
| - blink::Editor::HandleTextEvent 46776 (81.64%) 0 (0.00%) content_shell.exe
| - blink::EventHandler::DefaultTextInputEventHandler 46776 (81.64%) 0 (0.00%) content_shell.exe
| - blink::Editor::InsertTextWithoutSendingTextEvent 46775 (81.64%) 0 (0.00%) content_shell.exe
| - blink::TypingCommand::InsertText 46757 (81.61%) 1 (0.00%) content_shell.exe
| - content::MainThreadEventQueue::DispatchEvents 46067 (80.40%) 0 (0.00%) content_shell.exe
| - blink::TypingCommand::InsertTextInternal 44085 (76.94%) 1 (0.00%) content_shell.exe
| - blink::LocalFrameView::UpdateLayout 34800 (60.74%) 0 (0.00%) content_shell.exe
| - blink::Document::UpdateStyleAndLayout 34798 (60.73%) 0 (0.00%) content_shell.exe
| - blink::LocalFrameView::PerformLayout 34790 (60.72%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlock::UpdateLayout 34786 (60.71%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::UpdateBlockLayout 34784 (60.71%) 1 (0.00%) content_shell.exe
| - blink::LocalFrameView::LayoutFromRootObject 34769 (60.68%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutChildren 34642 (60.46%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutInlineChildren 34641 (60.46%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutRunsAndFloats 34563 (60.32%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutRunsAndFloatsInRange 34554 (60.31%) 29 (0.05%) content_shell.exe
| - blink::PaintLayer::UpdateSizeAndScrollingAfterLayout 33731 (58.87%) 1 (0.00%) content_shell.exe
| - blink::PaintLayerScrollableArea::UpdateAfterLayout 33729 (58.87%) 0 (0.00%) content_shell.exe
| - blink::LineBreaker::NextLineBreak 33495 (58.46%) 9 (0.02%) content_shell.exe
| - blink::BreakingContext::HandleText 33369 (58.24%) 542 (0.95%) content_shell.exe
| - blink::InsertTextCommand::DoApply 33195 (57.94%) 1 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::ApplyCommandToComposite 33195 (57.94%) 0 (0.00%) content_shell.exe
| - blink::TypingCommand::InsertTextRunWithoutNewlines 33195 (57.94%) 0 (0.00%) content_shell.exe
| - blink::Document::UpdateStyleAndLayoutIgnorePendingStylesheets 33182 (57.91%) 0 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::RebalanceWhitespaceAt 33172 (57.90%) 0 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::CanRebalance 33171 (57.89%) 0 (0.00%) content_shell.exe
| - base::MessageLoop::DoDelayedWork 31783 (55.47%) 1 (0.00%) content_shell.exe
| - blink::CachingWordShapeIterator::ShapeToEndIndex 30542 (53.31%) 180 (0.31%) content_shell.exe
| - blink::CachingWordShapeIterator::ShapeWord 30341 (52.95%) 55 (0.10%) content_shell.exe
| - blink::CachingWordShapeIterator::ShapeWordWithoutSpacing 30279 (52.85%) 95 (0.17%) content_shell.exe
| - blink::HarfBuzzShaper::Shape 29374 (51.27%) 3 (0.01%) content_shell.exe
| - blink::HarfBuzzShaper::Shape 29371 (51.26%) 49 (0.09%) content_shell.exe
| - blink::HarfBuzzShaper::ShapeSegment 23560 (41.12%) 79 (0.14%) content_shell.exe
| - base::MessageLoop::DoWork 20616 (35.98%) 12 (0.02%) content_shell.exe
| - hb_shape 18541 (32.36%) 2 (0.00%) content_shell.exe
| - hb_shape_full 18539 (32.36%) 5 (0.01%) content_shell.exe
| - hb_shape_plan_execute 18501 (32.29%) 6 (0.01%) content_shell.exe
| - _hb_ot_shape 18493 (32.28%) 203 (0.35%) content_shell.exe
| - blink::TextIteratorAlgorithm<blink::EditingAlgorithm<blink::NodeTraversal> >::Advance 16159 (28.20%) 23 (0.04%) content_shell.exe
| - blink::TextIteratorTextNodeHandler::HandleTextBox 16087 (28.08%) 205 (0.36%) content_shell.exe
| - blink::TextIteratorTextNodeHandler::HandleRemainingTextRuns 16068 (28.04%) 27 (0.05%) content_shell.exe
| - memchr 15567 (27.17%) 15565 (27.17%) content_shell.exe
| - blink::Font::Width 13255 (23.13%) 55 (0.10%) content_shell.exe
| - blink::CachingWordShaper::Width 12815 (22.37%) 117 (0.20%) content_shell.exe
| - hb_font_get_glyph_h_advances_default 12676 (22.12%) 128 (0.22%) content_shell.exe
| - blink::HarfBuzzGetGlyphHorizontalAdvance 12544 (21.89%) 231 (0.40%) content_shell.exe
| - SkPaint::getTextWidths 12454 (21.74%) 926 (1.62%) content_shell.exe
| - blink::SkiaTextMetrics::GetGlyphWidthForHarfBuzz 12097 (21.11%) 526 (0.92%) content_shell.exe
| - WTF::String::find 11804 (20.60%) 27 (0.05%) content_shell.exe
| - blink::BreakingContext::CalculateWordWidth 11282 (19.69%) 10 (0.02%) content_shell.exe
| - blink::Editor::RespondToChangedSelection 10953 (19.12%) 0 (0.00%) content_shell.exe
| - blink::FrameSelection::SetSelection 10953 (19.12%) 0 (0.00%) content_shell.exe
| - blink::FrameSelection::SetSelectionDeprecated 10953 (19.12%) 0 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::AppliedEditing 10889 (19.00%) 0 (0.00%) content_shell.exe
| - blink::ChangeSelectionAfterCommand 10882 (18.99%) 0 (0.00%) content_shell.exe
| - blink::Font::SelectionRectForText 10350 (18.06%) 6 (0.01%) content_shell.exe
| - blink::CachingWordShaper::GetCharacterRange 10312 (18.00%) 10 (0.02%) content_shell.exe
| - content::RenderWidget::UpdateTextInputStateInternal 9910 (17.30%) 1 (0.00%) content_shell.exe
| - blink::InputMethodController::TextInputInfo 9679 (16.89%) 0 (0.00%) content_shell.exe
| - blink::WebInputMethodControllerImpl::TextInputInfo 9679 (16.89%) 0 (0.00%) content_shell.exe
| - blink::PlainTextRange::Create 9109 (15.90%) 0 (0.00%) content_shell.exe
| - blink::TextIteratorAlgorithm<blink::EditingAlgorithm<blink::NodeTraversal> >::RangeLength 9108 (15.90%) 5 (0.01%) content_shell.exe
| - blink::Font::OffsetForPosition 8932 (15.59%) 4 (0.01%) content_shell.exe
| - blink::CachingWordShaper::OffsetForPosition 8913 (15.56%) 4 (0.01%) content_shell.exe
| - content::RenderFrameImpl::DidChangeSelection 6906 (12.05%) 0 (0.00%) content_shell.exe
| - SkStrikeCache::FindOrCreateStrikeExclusive 6548 (11.43%) 108 (0.19%) content_shell.exe
| - blink::`anonymous namespace'::PlainTextRangeForEphemeralRange 6450 (11.26%) 0 (0.00%) content_shell.exe
| - SkStrikeCache::FindOrCreateStrikeExclusive 6443 (11.25%) 777 (1.36%) content_shell.exe
| - blink::PlainText 5893 (10.29%) 2 (0.00%) content_shell.exe
| - blink::RunSegmenter::Consume 5312 (9.27%) 8 (0.01%) content_shell.exe
| - content::RenderFrameImpl::SyncSelectionIfRequired 4047 (7.06%) 0 (0.00%) content_shell.exe
| - blink::TextIteratorTextNodeHandler::EmitText 4009 (7.00%) 66 (0.12%) content_shell.exe
| - base::internal::Invoker<base::internal::BindState<void (cc::ProxyMain::*)(std::unique_ptr<cc::BeginMainFrameAndCommitState,std::default_delete<cc::BeginMainFrameAndCommitState> >),base::WeakPtr<cc::ProxyMain>,base::internal::PassedWrapper<std::unique_ptr<cc::BeginMainFrameAndCommitState,std::default_delete<cc::BeginMainFrameAndCommitState> > > >,void ()>::RunOnce 4006 (6.99%) 0 (0.00%) content_shell.exe
| - cc::ProxyMain::BeginMainFrame 4006 (6.99%) 0 (0.00%) content_shell.exe
| - SkScalerContext::CreateDescriptorAndEffectsUsingPaint 3835 (6.69%) 213 (0.37%) content_shell.exe
| - WTF::String::Replace 3809 (6.65%) 9 (0.02%) content_shell.exe
| - WTF::StringImpl::Replace 3800 (6.63%) 9 (0.02%) content_shell.exe
| - blink::HarfBuzzShaper::ExtractShapeResults 3640 (6.35%) 85 (0.15%) content_shell.exe
| - blink::HarfBuzzShaper::CommitGlyphs 3550 (6.20%) 11 (0.02%) content_shell.exe
| - blink::ShapeResult::InsertRun 3442 (6.01%) 8 (0.01%) content_shell.exe
| - blink::ShapeResult::ComputeGlyphPositions<1> 3360 (5.86%) 315 (0.55%) content_shell.exe
| - blink::RunSegmenter::ConsumeScriptIteratorPastLastSplit 3137 (5.48%) 4 (0.01%) content_shell.exe
| - blink::ScriptRunIterator::Consume 3133 (5.47%) 107 (0.19%) content_shell.exe
| - content::RenderWidget::WillBeginCompositorFrame 2972 (5.19%) 0 (0.00%) content_shell.exe
| - blink::ShapeResult::ComputeGlyphBounds<1> 2881 (5.03%) 196 (0.34%) content_shell.exe
| - _hb_ot_shape_normalize 2876 (5.02%) 591 (1.03%) content_shell.exe
| - blink::InputMethodController::GetSelectionOffsets 2663 (4.65%) 0 (0.00%) content_shell.exe
| - blink::WebInputMethodControllerImpl::GetSelectionOffsets 2663 (4.65%) 0 (0.00%) content_shell.exe
| - SkCanonicalizePaint::SkCanonicalizePaint 2491 (4.35%) 204 (0.36%) content_shell.exe
| - decompose_current_character 2276 (3.97%) 410 (0.72%) content_shell.exe
| - SkDraw::ShouldDrawTextAsPaths 2267 (3.96%) 330 (0.58%) content_shell.exe
| - blink::ScriptRunIterator::Fetch 2210 (3.86%) 455 (0.79%) content_shell.exe
| - blink::RunSegmenter::ConsumeSymbolsIteratorPastLastSplit 2164 (3.78%) 2 (0.00%) content_shell.exe
| - blink::SymbolsIterator::Consume 2162 (3.77%) 545 (0.95%) content_shell.exe
| - hb_font_get_nominal_glyph_trampoline 1842 (3.21%) 149 (0.26%) content_shell.exe
| - SkScalerContext::MakeRecAndEffects 1833 (3.20%) 1427 (2.49%) content_shell.exe
| - SkStrikeCache::findOrCreateStrikeExclusive 1784 (3.11%) 241 (0.42%) content_shell.exe
| - SkScalerContext::AutoDescriptorGivenRecAndEffects 1735 (3.03%) 525 (0.92%) content_shell.exe
| - ?DefaultSnapshotBlob@Snapshot@internal@v8@@SAPEBVStartupData@3@XZ 1735 (3.03%) 0 (0.00%) content_shell.exe
| - blink::HarfBuzzGetGlyph 1693 (2.95%) 274 (0.48%) content_shell.exe
| - blink::ICUScriptData::GetScripts 1687 (2.94%) 370 (0.65%) content_shell.exe
| - v8::internal::`anonymous namespace'::HandleApiCallHelper<0> 1651 (2.88%) 0 (0.00%) content_shell.exe
| - v8::internal::FunctionCallbackArguments::Call 1651 (2.88%) 0 (0.00%) content_shell.exe
| - v8::internal::Builtins::InvokeApiFunction 1640 (2.86%) 0 (0.00%) content_shell.exe
| - v8::internal::LoadIC::Load 1633 (2.85%) 0 (0.00%) content_shell.exe
| - v8::internal::Runtime_LoadIC_Miss 1633 (2.85%) 0 (0.00%) content_shell.exe
| - v8::internal::Object::GetProperty 1631 (2.85%) 0 (0.00%) content_shell.exe
| - v8::internal::Object::GetPropertyWithAccessor 1631 (2.85%) 0 (0.00%) content_shell.exe
| - blink::Element::scrollHeight 1622 (2.83%) 0 (0.00%) content_shell.exe
| - blink::V8Element::scrollHeightAttributeGetterCallback 1622 (2.83%) 0 (0.00%) content_shell.exe
| - SkPaint::TooBigToUseCache 1618 (2.82%) 403 (0.70%) content_shell.exe
| - blink::SimpleFontData::BoundsForGlyphs 1544 (2.69%) 216 (0.38%) content_shell.exe
| - hb_ot_layout_substitute_start 1531 (2.67%) 1529 (2.67%) content_shell.exe
| - SkStrikeCache::findStrikeExclusive 1493 (2.61%) 1466 (2.56%) content_shell.exe
| - blink::SymbolsIterator::FontFallbackPriorityForCharacter 1404 (2.45%) 180 (0.31%) content_shell.exe
| - hb_font_get_glyph 1367 (2.39%) 100 (0.17%) content_shell.exe
| - blink::WebLocalFrameImpl::RangeAsText 1354 (2.36%) 0 (0.00%) content_shell.exe
| - blink::PlainTextRange::CreateRangeFor 1345 (2.35%) 7 (0.01%) content_shell.exe
| - blink::PlainTextRange::CreateRange 1345 (2.35%) 0 (0.00%) content_shell.exe
| - blink::WebRange::CreateEphemeralRange 1345 (2.35%) 0 (0.00%) content_shell.exe
| - __security_check_cookie 1319 (2.30%) 1319 (2.30%) content_shell.exe
| - hb_ot_get_nominal_glyph 1267 (2.21%) 79 (0.14%) content_shell.exe
| - __scrt_common_main_seh 1228 (2.14%) 0 (0.00%) content_shell.exe
| - wWinMain 1223 (2.13%) 0 (0.00%) content_shell.exe
| - content::ContentMain 1221 (2.13%) 0 (0.00%) content_shell.exe
| - service_manager::Main 1221 (2.13%) 0 (0.00%) content_shell.exe
| - content::ContentMainRunnerImpl::Run 1195 (2.09%) 0 (0.00%) content_shell.exe
| - OT::CmapSubtableFormat4::accelerator_t::get_glyph_func 1188 (2.07%) 1188 (2.07%) content_shell.exe
| - content::RunBrowserProcessMain 1185 (2.07%) 0 (0.00%) content_shell.exe
| - content::ShellMainDelegate::RunProcess 1185 (2.07%) 0 (0.00%) content_shell.exe
| - ShellBrowserMain 1185 (2.07%) 0 (0.00%) content_shell.exe
| - sk_getAdvance_glyph_next 944 (1.65%) 69 (0.12%) content_shell.exe
| - blink::SkiaTextMetrics::GetSkiaBoundsForGlyphs 928 (1.62%) 16 (0.03%) content_shell.exe
| - SkStrikeCache::ExclusiveStrikePtr::~ExclusiveStrikePtr 921 (1.61%) 610 (1.06%) content_shell.exe
| - content::MainThreadEventQueue::DispatchRafAlignedInput 909 (1.59%) 0 (0.00%) content_shell.exe
| - content::RenderWidget::BeginMainFrame 909 (1.59%) 0 (0.00%) content_shell.exe
| - SkGlyphCache::getGlyphIDAdvance 875 (1.53%) 875 (1.53%) content_shell.exe
| - base::MessagePumpForIO::DoRunLoop 868 (1.51%) 1 (0.00%) content_shell.exe
| - content::BrowserMainLoop::MainMessageLoopRun 867 (1.51%) 0 (0.00%) content_shell.exe
| - content::BrowserMainLoop::RunMainMessageLoopParts 867 (1.51%) 0 (0.00%) content_shell.exe
| - content::BrowserMainRunnerImpl::Run 867 (1.51%) 0 (0.00%) content_shell.exe
| - u_getUnicodeProperties_62 834 (1.46%) 833 (1.45%) content_shell.exe
| - defaultContains 766 (1.34%) 316 (0.55%) content_shell.exe
| - WTF::Vector<mojo::ScopedHandleBase<mojo::MessagePipeHandle>,0,WTF::PartitionAllocator>::at 686 (1.20%) 499 (0.87%) content_shell.exe
| - blink::LayoutBlockFlow::CreateLineBoxesFromBidiRuns 670 (1.17%) 6 (0.01%) content_shell.exe
| - _hb_glyph_info_set_unicode_props 659 (1.15%) 192 (0.34%) content_shell.exe
| - base::MessagePumpDefault::Run 594 (1.04%) 1 (0.00%) content_shell.exe
| - sk_getMetrics_glyph_next 553 (0.97%) 78 (0.14%) content_shell.exe
| - SkStrikeCache::getCachePointSizeLimit 528 (0.92%) 528 (0.92%) content_shell.exe
| - mojo::SimpleWatcher::OnHandleReady 526 (0.92%) 6 (0.01%) content_shell.exe
| - mojo::Connector::ReadAllAvailableMessages 513 (0.90%) 2 (0.00%) content_shell.exe
| - SkBinaryWriteBuffer::SkBinaryWriteBuffer 511 (0.89%) 511 (0.89%) content_shell.exe
| - mojo::Connector::ReadSingleMessage 502 (0.88%) 5 (0.01%) content_shell.exe
| - blink::ScriptRunIterator::MergeSets 493 (0.86%) 286 (0.50%) content_shell.exe
| - WTF::Vector<mojo::InlinedStructPtr<blink::mojom::blink::SpellCheckSuggestion>,0,WTF::PartitionAllocator>::at 480 (0.84%) 395 (0.69%) content_shell.exe
| - SkGlyphCache::getGlyphIDMetrics 475 (0.83%) 44 (0.08%) content_shell.exe
| - WTF::Vector<mojo::InlinedStructPtr<device::mojom::blink::UsbEndpointInfo>,0,WTF::PartitionAllocator>::at 470 (0.82%) 364 (0.64%) content_shell.exe
| - blink::CaseMappingHarfBuzzBufferFiller::CaseMappingHarfBuzzBufferFiller 468 (0.82%) 13 (0.02%) content_shell.exe
| - hb_icu_unicode_general_category 467 (0.82%) 188 (0.33%) content_shell.exe
| - hb_buffer_add_utf16 455 (0.79%) 75 (0.13%) content_shell.exe
| - blink::Character::IsEmojiEmojiDefault 449 (0.78%) 55 (0.10%) content_shell.exe
| - SkGlyphCache::lookupByPackedGlyphID 432 (0.75%) 430 (0.75%) content_shell.exe
| - uscript_getScriptExtensions_62 420 (0.73%) 158 (0.28%) content_shell.exe
| - blink::ShapeCache::Add 420 (0.73%) 43 (0.08%) content_shell.exe
| - content::BrowserProcessSubThread::IOThreadRun 391 (0.68%) 0 (0.00%) content_shell.exe
| - gpu::GpuChannel::HandleMessageHelper 379 (0.66%) 0 (0.00%) content_shell.exe
| - SkMatrix::setConcat 373 (0.65%) 373 (0.65%) content_shell.exe
| - blink::ShapeCache::AddSlowCase 367 (0.64%) 79 (0.14%) content_shell.exe
| - WTF::Vector<UScriptCode,20,WTF::PartitionAllocator>::resize 363 (0.63%) 187 (0.33%) content_shell.exe
| - base::internal::SchedulerWorker::RunWorker 359 (0.63%) 0 (0.00%) content_shell.exe
| - memset 357 (0.62%) 314 (0.55%) content_shell.exe
| - hb_ot_map_t::position 356 (0.62%) 10 (0.02%) content_shell.exe
| - base::internal::TaskTracker::RunAndPopNextTask 356 (0.62%) 0 (0.00%) content_shell.exe
| - base::internal::TaskTracker::RunOrSkipTask 356 (0.62%) 0 (0.00%) content_shell.exe
| - blink::FontGlobalContext::Get 352 (0.61%) 132 (0.23%) content_shell.exe
| - blink::Character::IsEmojiTextDefault 347 (0.61%) 81 (0.14%) content_shell.exe
| - blink::ShapeResultBuffer::GetCharacterRange 347 (0.61%) 3 (0.01%) content_shell.exe
| - hb_ot_map_t::apply<GPOSProxy> 346 (0.60%) 67 (0.12%) content_shell.exe
| - blink::ShapeResultBuffer::GetCharacterRangeInternal 344 (0.60%) 19 (0.03%) content_shell.exe
| - gpu::Scheduler::RunNextTask 336 (0.59%) 0 (0.00%) content_shell.exe
| - base::internal::SchedulerWorker::RunPooledWorker 335 (0.58%) 0 (0.00%) content_shell.exe
| - gpu::CommandBufferStub::OnMessageReceived 334 (0.58%) 2 (0.00%) content_shell.exe
| - gpu::GpuChannel::HandleMessage 334 (0.58%) 0 (0.00%) content_shell.exe
| - blink::ConstructBidiRunsForLine 329 (0.57%) 2 (0.00%) content_shell.exe
| - SkBinaryWriteBuffer::~SkBinaryWriteBuffer 327 (0.57%) 327 (0.57%) content_shell.exe
| - blink::Character::IsEmojiModifierBase 327 (0.57%) 61 (0.11%) content_shell.exe
| - blink::BidiResolver<blink::InlineIterator,blink::BidiRun,blink::BidiIsolatedRun>::CreateBidiRunsForLine 326 (0.57%) 179 (0.31%) content_shell.exe
| - sse42::hash_fn 323 (0.56%) 323 (0.56%) content_shell.exe
| - blink::TextRun::NormalizedUTF16 323 (0.56%) 158 (0.28%) content_shell.exe
Function Name Total CPU [unit, %] Self CPU [unit, %] Module
| - base::RunLoop::Run 53024 (92.54%) 0 (0.00%) content_shell.exe
| - base::`anonymous namespace'::ThreadFunc 52933 (92.39%) 0 (0.00%) content_shell.exe
| - base::debug::TaskAnnotator::RunTask 52668 (91.92%) 10 (0.02%) content_shell.exe
| - base::MessagePumpWin::Run 52430 (91.51%) 0 (0.00%) content_shell.exe
| - base::Thread::ThreadMain 52385 (91.43%) 0 (0.00%) content_shell.exe
| - base::MessageLoop::RunTask 52327 (91.33%) 6 (0.01%) content_shell.exe
| - base::MessagePumpForUI::DoRunLoop 51562 (89.99%) 5 (0.01%) content_shell.exe
| - base::sequence_manager::internal::ThreadControllerImpl::DoWork 50702 (88.49%) 3 (0.01%) content_shell.exe
| - content::QueuedWebInputEvent::Dispatch 46971 (81.98%) 0 (0.00%) content_shell.exe
| - content::MainThreadEventQueue::HandleEventOnMainThread 46969 (81.98%) 0 (0.00%) content_shell.exe
| - content::RenderWidget::HandleInputEvent 46969 (81.98%) 0 (0.00%) content_shell.exe
| - content::RenderWidgetInputHandler::HandleInputEvent 46968 (81.97%) 1 (0.00%) content_shell.exe
| - blink::WebViewImpl::HandleInputEvent 46915 (81.88%) 0 (0.00%) content_shell.exe
| - blink::PageWidgetDelegate::HandleInputEvent 46913 (81.88%) 0 (0.00%) content_shell.exe
| - blink::EventDispatcher::DispatchEvent 46808 (81.70%) 1 (0.00%) content_shell.exe
| - blink::KeyboardEventManager::KeyEvent 46805 (81.69%) 1 (0.00%) content_shell.exe
| - blink::EventDispatcher::Dispatch 46799 (81.68%) 1 (0.00%) content_shell.exe
| - blink::EventDispatcher::DispatchEventPostProcess 46792 (81.67%) 1 (0.00%) content_shell.exe
| - blink::WebViewImpl::HandleCharEvent 46792 (81.67%) 0 (0.00%) content_shell.exe
| - blink::KeyboardEventManager::DefaultKeyboardEventHandler 46791 (81.67%) 1 (0.00%) content_shell.exe
| - blink::Editor::HandleEditingKeyboardEvent 46790 (81.66%) 0 (0.00%) content_shell.exe
| - blink::Editor::HandleKeyboardEvent 46790 (81.66%) 0 (0.00%) content_shell.exe
| - blink::EventHandler::HandleTextInputEvent 46778 (81.64%) 0 (0.00%) content_shell.exe
| - blink::Editor::HandleTextEvent 46776 (81.64%) 0 (0.00%) content_shell.exe
| - blink::EventHandler::DefaultTextInputEventHandler 46776 (81.64%) 0 (0.00%) content_shell.exe
| - blink::Editor::InsertTextWithoutSendingTextEvent 46775 (81.64%) 0 (0.00%) content_shell.exe
| - blink::TypingCommand::InsertText 46757 (81.61%) 1 (0.00%) content_shell.exe
| - content::MainThreadEventQueue::DispatchEvents 46067 (80.40%) 0 (0.00%) content_shell.exe
| - blink::TypingCommand::InsertTextInternal 44085 (76.94%) 1 (0.00%) content_shell.exe
| - blink::LocalFrameView::UpdateLayout 34800 (60.74%) 0 (0.00%) content_shell.exe
| - blink::Document::UpdateStyleAndLayout 34798 (60.73%) 0 (0.00%) content_shell.exe
| - blink::LocalFrameView::PerformLayout 34790 (60.72%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlock::UpdateLayout 34786 (60.71%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::UpdateBlockLayout 34784 (60.71%) 1 (0.00%) content_shell.exe
| - blink::LocalFrameView::LayoutFromRootObject 34769 (60.68%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutChildren 34642 (60.46%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutInlineChildren 34641 (60.46%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutRunsAndFloats 34563 (60.32%) 0 (0.00%) content_shell.exe
| - blink::LayoutBlockFlow::LayoutRunsAndFloatsInRange 34554 (60.31%) 29 (0.05%) content_shell.exe
| - blink::PaintLayer::UpdateSizeAndScrollingAfterLayout 33731 (58.87%) 1 (0.00%) content_shell.exe
| - blink::PaintLayerScrollableArea::UpdateAfterLayout 33729 (58.87%) 0 (0.00%) content_shell.exe
| - blink::LineBreaker::NextLineBreak 33495 (58.46%) 9 (0.02%) content_shell.exe
| - blink::BreakingContext::HandleText 33369 (58.24%) 542 (0.95%) content_shell.exe
| - blink::InsertTextCommand::DoApply 33195 (57.94%) 1 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::ApplyCommandToComposite 33195 (57.94%) 0 (0.00%) content_shell.exe
| - blink::TypingCommand::InsertTextRunWithoutNewlines 33195 (57.94%) 0 (0.00%) content_shell.exe
| - blink::Document::UpdateStyleAndLayoutIgnorePendingStylesheets 33182 (57.91%) 0 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::RebalanceWhitespaceAt 33172 (57.90%) 0 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::CanRebalance 33171 (57.89%) 0 (0.00%) content_shell.exe
| - base::MessageLoop::DoDelayedWork 31783 (55.47%) 1 (0.00%) content_shell.exe
| - blink::CachingWordShapeIterator::ShapeToEndIndex 30542 (53.31%) 180 (0.31%) content_shell.exe
| - blink::CachingWordShapeIterator::ShapeWord 30341 (52.95%) 55 (0.10%) content_shell.exe
| - blink::CachingWordShapeIterator::ShapeWordWithoutSpacing 30279 (52.85%) 95 (0.17%) content_shell.exe
| - blink::HarfBuzzShaper::Shape 29374 (51.27%) 3 (0.01%) content_shell.exe
| - blink::HarfBuzzShaper::Shape 29371 (51.26%) 49 (0.09%) content_shell.exe
| - blink::HarfBuzzShaper::ShapeSegment 23560 (41.12%) 79 (0.14%) content_shell.exe
| - base::MessageLoop::DoWork 20616 (35.98%) 12 (0.02%) content_shell.exe
| - hb_shape 18541 (32.36%) 2 (0.00%) content_shell.exe
| - hb_shape_full 18539 (32.36%) 5 (0.01%) content_shell.exe
| - hb_shape_plan_execute 18501 (32.29%) 6 (0.01%) content_shell.exe
| - _hb_ot_shape 18493 (32.28%) 203 (0.35%) content_shell.exe
| - blink::TextIteratorAlgorithm<blink::EditingAlgorithm<blink::NodeTraversal> >::Advance 16159 (28.20%) 23 (0.04%) content_shell.exe
| - blink::TextIteratorTextNodeHandler::HandleTextBox 16087 (28.08%) 205 (0.36%) content_shell.exe
| - blink::TextIteratorTextNodeHandler::HandleRemainingTextRuns 16068 (28.04%) 27 (0.05%) content_shell.exe
| - memchr 15567 (27.17%) 15565 (27.17%) content_shell.exe
| - blink::Font::Width 13255 (23.13%) 55 (0.10%) content_shell.exe
| - blink::CachingWordShaper::Width 12815 (22.37%) 117 (0.20%) content_shell.exe
| - hb_font_get_glyph_h_advances_default 12676 (22.12%) 128 (0.22%) content_shell.exe
| - blink::HarfBuzzGetGlyphHorizontalAdvance 12544 (21.89%) 231 (0.40%) content_shell.exe
| - SkPaint::getTextWidths 12454 (21.74%) 926 (1.62%) content_shell.exe
| - blink::SkiaTextMetrics::GetGlyphWidthForHarfBuzz 12097 (21.11%) 526 (0.92%) content_shell.exe
| - WTF::String::find 11804 (20.60%) 27 (0.05%) content_shell.exe
| - blink::BreakingContext::CalculateWordWidth 11282 (19.69%) 10 (0.02%) content_shell.exe
| - blink::Editor::RespondToChangedSelection 10953 (19.12%) 0 (0.00%) content_shell.exe
| - blink::FrameSelection::SetSelection 10953 (19.12%) 0 (0.00%) content_shell.exe
| - blink::FrameSelection::SetSelectionDeprecated 10953 (19.12%) 0 (0.00%) content_shell.exe
| - blink::CompositeEditCommand::AppliedEditing 10889 (19.00%) 0 (0.00%) content_shell.exe
| - blink::ChangeSelectionAfterCommand 10882 (18.99%) 0 (0.00%) content_shell.exe
| - blink::Font::SelectionRectForText 10350 (18.06%) 6 (0.01%) content_shell.exe
| - blink::CachingWordShaper::GetCharacterRange 10312 (18.00%) 10 (0.02%) content_shell.exe
| - content::RenderWidget::UpdateTextInputStateInternal 9910 (17.30%) 1 (0.00%) content_shell.exe
| - blink::InputMethodController::TextInputInfo 9679 (16.89%) 0 (0.00%) content_shell.exe
| - blink::WebInputMethodControllerImpl::TextInputInfo 9679 (16.89%) 0 (0.00%) content_shell.exe
| - blink::PlainTextRange::Create 9109 (15.90%) 0 (0.00%) content_shell.exe
| - blink::TextIteratorAlgorithm<blink::EditingAlgorithm<blink::NodeTraversal> >::RangeLength 9108 (15.90%) 5 (0.01%) content_shell.exe
| - blink::Font::OffsetForPosition 8932 (15.59%) 4 (0.01%) content_shell.exe
| - blink::CachingWordShaper::OffsetForPosition 8913 (15.56%) 4 (0.01%) content_shell.exe
| - content::RenderFrameImpl::DidChangeSelection 6906 (12.05%) 0 (0.00%) content_shell.exe
| - SkStrikeCache::FindOrCreateStrikeExclusive 6548 (11.43%) 108 (0.19%) content_shell.exe
| - blink::`anonymous namespace'::PlainTextRangeForEphemeralRange 6450 (11.26%) 0 (0.00%) content_shell.exe
| - SkStrikeCache::FindOrCreateStrikeExclusive 6443 (11.25%) 777 (1.36%) content_shell.exe
| - blink::PlainText 5893 (10.29%) 2 (0.00%) content_shell.exe
| - blink::RunSegmenter::Consume 5312 (9.27%) 8 (0.01%) content_shell.exe
| - content::RenderFrameImpl::SyncSelectionIfRequired 4047 (7.06%) 0 (0.00%) content_shell.exe
| - blink::TextIteratorTextNodeHandler::EmitText 4009 (7.00%) 66 (0.12%) content_shell.exe
| - base::internal::Invoker<base::internal::BindState<void (cc::ProxyMain::*)(std::unique_ptr<cc::BeginMainFrameAndCommitState,std::default_delete<cc::BeginMainFrameAndCommitState> >),base::WeakPtr<cc::ProxyMain>,base::internal::PassedWrapper<std::unique_ptr<cc::BeginMainFrameAndCommitState,std::default_delete<cc::BeginMainFrameAndCommitState> > > >,void ()>::RunOnce 4006 (6.99%) 0 (0.00%) content_shell.exe
| - cc::ProxyMain::BeginMainFrame 4006 (6.99%) 0 (0.00%) content_shell.exe
| - SkScalerContext::CreateDescriptorAndEffectsUsingPaint 3835 (6.69%) 213 (0.37%) content_shell.exe
| - WTF::String::Replace 3809 (6.65%) 9 (0.02%) content_shell.exe
| - WTF::StringImpl::Replace 3800 (6.63%) 9 (0.02%) content_shell.exe
| - blink::HarfBuzzShaper::ExtractShapeResults 3640 (6.35%) 85 (0.15%) content_shell.exe
| - blink::HarfBuzzShaper::CommitGlyphs 3550 (6.20%) 11 (0.02%) content_shell.exe
| - blink::ShapeResult::InsertRun 3442 (6.01%) 8 (0.01%) content_shell.exe
| - blink::ShapeResult::ComputeGlyphPositions<1> 3360 (5.86%) 315 (0.55%) content_shell.exe
| - blink::RunSegmenter::ConsumeScriptIteratorPastLastSplit 3137 (5.48%) 4 (0.01%) content_shell.exe
| - blink::ScriptRunIterator::Consume 3133 (5.47%) 107 (0.19%) content_shell.exe
| - content::RenderWidget::WillBeginCompositorFrame 2972 (5.19%) 0 (0.00%) content_shell.exe
| - blink::ShapeResult::ComputeGlyphBounds<1> 2881 (5.03%) 196 (0.34%) content_shell.exe
| - _hb_ot_shape_normalize 2876 (5.02%) 591 (1.03%) content_shell.exe
| - blink::InputMethodController::GetSelectionOffsets 2663 (4.65%) 0 (0.00%) content_shell.exe
| - blink::WebInputMethodControllerImpl::GetSelectionOffsets 2663 (4.65%) 0 (0.00%) content_shell.exe
| - SkCanonicalizePaint::SkCanonicalizePaint 2491 (4.35%) 204 (0.36%) content_shell.exe
| - decompose_current_character 2276 (3.97%) 410 (0.72%) content_shell.exe
| - SkDraw::ShouldDrawTextAsPaths 2267 (3.96%) 330 (0.58%) content_shell.exe
| - blink::ScriptRunIterator::Fetch 2210 (3.86%) 455 (0.79%) content_shell.exe
| - blink::RunSegmenter::ConsumeSymbolsIteratorPastLastSplit 2164 (3.78%) 2 (0.00%) content_shell.exe
| - blink::SymbolsIterator::Consume 2162 (3.77%) 545 (0.95%) content_shell.exe
| - hb_font_get_nominal_glyph_trampoline 1842 (3.21%) 149 (0.26%) content_shell.exe
| - SkScalerContext::MakeRecAndEffects 1833 (3.20%) 1427 (2.49%) content_shell.exe
| - SkStrikeCache::findOrCreateStrikeExclusive 1784 (3.11%) 241 (0.42%) content_shell.exe
| - SkScalerContext::AutoDescriptorGivenRecAndEffects 1735 (3.03%) 525 (0.92%) content_shell.exe
| - ?DefaultSnapshotBlob@Snapshot@internal@v8@@SAPEBVStartupData@3@XZ 1735 (3.03%) 0 (0.00%) content_shell.exe
| - blink::HarfBuzzGetGlyph 1693 (2.95%) 274 (0.48%) content_shell.exe
| - blink::ICUScriptData::GetScripts 1687 (2.94%) 370 (0.65%) content_shell.exe
| - v8::internal::`anonymous namespace'::HandleApiCallHelper<0> 1651 (2.88%) 0 (0.00%) content_shell.exe
| - v8::internal::FunctionCallbackArguments::Call 1651 (2.88%) 0 (0.00%) content_shell.exe
| - v8::internal::Builtins::InvokeApiFunction 1640 (2.86%) 0 (0.00%) content_shell.exe
| - v8::internal::LoadIC::Load 1633 (2.85%) 0 (0.00%) content_shell.exe
| - v8::internal::Runtime_LoadIC_Miss 1633 (2.85%) 0 (0.00%) content_shell.exe
| - v8::internal::Object::GetProperty 1631 (2.85%) 0 (0.00%) content_shell.exe
| - v8::internal::Object::GetPropertyWithAccessor 1631 (2.85%) 0 (0.00%) content_shell.exe
| - blink::Element::scrollHeight 1622 (2.83%) 0 (0.00%) content_shell.exe
| - blink::V8Element::scrollHeightAttributeGetterCallback 1622 (2.83%) 0 (0.00%) content_shell.exe
| - SkPaint::TooBigToUseCache 1618 (2.82%) 403 (0.70%) content_shell.exe
| - blink::SimpleFontData::BoundsForGlyphs 1544 (2.69%) 216 (0.38%) content_shell.exe
| - hb_ot_layout_substitute_start 1531 (2.67%) 1529 (2.67%) content_shell.exe
| - SkStrikeCache::findStrikeExclusive 1493 (2.61%) 1466 (2.56%) content_shell.exe
| - blink::SymbolsIterator::FontFallbackPriorityForCharacter 1404 (2.45%) 180 (0.31%) content_shell.exe
| - hb_font_get_glyph 1367 (2.39%) 100 (0.17%) content_shell.exe
| - blink::WebLocalFrameImpl::RangeAsText 1354 (2.36%) 0 (0.00%) content_shell.exe
| - blink::PlainTextRange::CreateRangeFor 1345 (2.35%) 7 (0.01%) content_shell.exe
| - blink::PlainTextRange::CreateRange 1345 (2.35%) 0 (0.00%) content_shell.exe
| - blink::WebRange::CreateEphemeralRange 1345 (2.35%) 0 (0.00%) content_shell.exe
| - __security_check_cookie 1319 (2.30%) 1319 (2.30%) content_shell.exe
| - hb_ot_get_nominal_glyph 1267 (2.21%) 79 (0.14%) content_shell.exe
| - __scrt_common_main_seh 1228 (2.14%) 0 (0.00%) content_shell.exe
| - wWinMain 1223 (2.13%) 0 (0.00%) content_shell.exe
| - content::ContentMain 1221 (2.13%) 0 (0.00%) content_shell.exe
| - service_manager::Main 1221 (2.13%) 0 (0.00%) content_shell.exe
| - content::ContentMainRunnerImpl::Run 1195 (2.09%) 0 (0.00%) content_shell.exe
| - OT::CmapSubtableFormat4::accelerator_t::get_glyph_func 1188 (2.07%) 1188 (2.07%) content_shell.exe
| - content::RunBrowserProcessMain 1185 (2.07%) 0 (0.00%) content_shell.exe
| - content::ShellMainDelegate::RunProcess 1185 (2.07%) 0 (0.00%) content_shell.exe
| - ShellBrowserMain 1185 (2.07%) 0 (0.00%) content_shell.exe
| - sk_getAdvance_glyph_next 944 (1.65%) 69 (0.12%) content_shell.exe
| - blink::SkiaTextMetrics::GetSkiaBoundsForGlyphs 928 (1.62%) 16 (0.03%) content_shell.exe
| - SkStrikeCache::ExclusiveStrikePtr::~ExclusiveStrikePtr 921 (1.61%) 610 (1.06%) content_shell.exe
| - content::MainThreadEventQueue::DispatchRafAlignedInput 909 (1.59%) 0 (0.00%) content_shell.exe
| - content::RenderWidget::BeginMainFrame 909 (1.59%) 0 (0.00%) content_shell.exe
| - SkGlyphCache::getGlyphIDAdvance 875 (1.53%) 875 (1.53%) content_shell.exe
| - base::MessagePumpForIO::DoRunLoop 868 (1.51%) 1 (0.00%) content_shell.exe
| - content::BrowserMainLoop::MainMessageLoopRun 867 (1.51%) 0 (0.00%) content_shell.exe
| - content::BrowserMainLoop::RunMainMessageLoopParts 867 (1.51%) 0 (0.00%) content_shell.exe
| - content::BrowserMainRunnerImpl::Run 867 (1.51%) 0 (0.00%) content_shell.exe
| - u_getUnicodeProperties_62 834 (1.46%) 833 (1.45%) content_shell.exe
| - defaultContains 766 (1.34%) 316 (0.55%) content_shell.exe
| - WTF::Vector<mojo::ScopedHandleBase<mojo::MessagePipeHandle>,0,WTF::PartitionAllocator>::at 686 (1.20%) 499 (0.87%) content_shell.exe
| - blink::LayoutBlockFlow::CreateLineBoxesFromBidiRuns 670 (1.17%) 6 (0.01%) content_shell.exe
| - _hb_glyph_info_set_unicode_props 659 (1.15%) 192 (0.34%) content_shell.exe
| - base::MessagePumpDefault::Run 594 (1.04%) 1 (0.00%) content_shell.exe
| - sk_getMetrics_glyph_next 553 (0.97%) 78 (0.14%) content_shell.exe
| - SkStrikeCache::getCachePointSizeLimit 528 (0.92%) 528 (0.92%) content_shell.exe
| - mojo::SimpleWatcher::OnHandleReady 526 (0.92%) 6 (0.01%) content_shell.exe
| - mojo::Connector::ReadAllAvailableMessages 513 (0.90%) 2 (0.00%) content_shell.exe
| - SkBinaryWriteBuffer::SkBinaryWriteBuffer 511 (0.89%) 511 (0.89%) content_shell.exe
| - mojo::Connector::ReadSingleMessage 502 (0.88%) 5 (0.01%) content_shell.exe
| - blink::ScriptRunIterator::MergeSets 493 (0.86%) 286 (0.50%) content_shell.exe
| - WTF::Vector<mojo::InlinedStructPtr<blink::mojom::blink::SpellCheckSuggestion>,0,WTF::PartitionAllocator>::at 480 (0.84%) 395 (0.69%) content_shell.exe
| - SkGlyphCache::getGlyphIDMetrics 475 (0.83%) 44 (0.08%) content_shell.exe
| - WTF::Vector<mojo::InlinedStructPtr<device::mojom::blink::UsbEndpointInfo>,0,WTF::PartitionAllocator>::at 470 (0.82%) 364 (0.64%) content_shell.exe
| - blink::CaseMappingHarfBuzzBufferFiller::CaseMappingHarfBuzzBufferFiller 468 (0.82%) 13 (0.02%) content_shell.exe
| - hb_icu_unicode_general_category 467 (0.82%) 188 (0.33%) content_shell.exe
| - hb_buffer_add_utf16 455 (0.79%) 75 (0.13%) content_shell.exe
| - blink::Character::IsEmojiEmojiDefault 449 (0.78%) 55 (0.10%) content_shell.exe
| - SkGlyphCache::lookupByPackedGlyphID 432 (0.75%) 430 (0.75%) content_shell.exe
| - uscript_getScriptExtensions_62 420 (0.73%) 158 (0.28%) content_shell.exe
| - blink::ShapeCache::Add 420 (0.73%) 43 (0.08%) content_shell.exe
| - content::BrowserProcessSubThread::IOThreadRun 391 (0.68%) 0 (0.00%) content_shell.exe
| - gpu::GpuChannel::HandleMessageHelper 379 (0.66%) 0 (0.00%) content_shell.exe
| - SkMatrix::setConcat 373 (0.65%) 373 (0.65%) content_shell.exe
| - blink::ShapeCache::AddSlowCase 367 (0.64%) 79 (0.14%) content_shell.exe
| - WTF::Vector<UScriptCode,20,WTF::PartitionAllocator>::resize 363 (0.63%) 187 (0.33%) content_shell.exe
| - base::internal::SchedulerWorker::RunWorker 359 (0.63%) 0 (0.00%) content_shell.exe
| - memset 357 (0.62%) 314 (0.55%) content_shell.exe
| - hb_ot_map_t::position 356 (0.62%) 10 (0.02%) content_shell.exe
| - base::internal::TaskTracker::RunAndPopNextTask 356 (0.62%) 0 (0.00%) content_shell.exe
| - base::internal::TaskTracker::RunOrSkipTask 356 (0.62%) 0 (0.00%) content_shell.exe
| - blink::FontGlobalContext::Get 352 (0.61%) 132 (0.23%) content_shell.exe
| - blink::Character::IsEmojiTextDefault 347 (0.61%) 81 (0.14%) content_shell.exe
| - blink::ShapeResultBuffer::GetCharacterRange 347 (0.61%) 3 (0.01%) content_shell.exe
| - hb_ot_map_t::apply<GPOSProxy> 346 (0.60%) 67 (0.12%) content_shell.exe
| - blink::ShapeResultBuffer::GetCharacterRangeInternal 344 (0.60%) 19 (0.03%) content_shell.exe
| - gpu::Scheduler::RunNextTask 336 (0.59%) 0 (0.00%) content_shell.exe
| - base::internal::SchedulerWorker::RunPooledWorker 335 (0.58%) 0 (0.00%) content_shell.exe
| - gpu::CommandBufferStub::OnMessageReceived 334 (0.58%) 2 (0.00%) content_shell.exe
| - gpu::GpuChannel::HandleMessage 334 (0.58%) 0 (0.00%) content_shell.exe
| - blink::ConstructBidiRunsForLine 329 (0.57%) 2 (0.00%) content_shell.exe
| - SkBinaryWriteBuffer::~SkBinaryWriteBuffer 327 (0.57%) 327 (0.57%) content_shell.exe
| - blink::Character::IsEmojiModifierBase 327 (0.57%) 61 (0.11%) content_shell.exe
| - blink::BidiResolver<blink::InlineIterator,blink::BidiRun,blink::BidiIsolatedRun>::CreateBidiRunsForLine 326 (0.57%) 179 (0.31%) content_shell.exe
| - sse42::hash_fn 323 (0.56%) 323 (0.56%) content_shell.exe
| - blink::TextRun::NormalizedUTF16 323 (0.56%) 158 (0.28%) content_shell.exe
yo...@chromium.org <yo...@chromium.org> #31
We should change TextIteratorTextNodeHandler::HandleTextBox() to avoid
str.find(‘\n’, run_start) which take 22.62%.
This is for InputMethodController::TextInputInfo() takes 18.55%
str.find(‘\n’, run_start) which take 22.62%.
This is for InputMethodController::TextInputInfo() takes 18.55%
na...@gmail.com <na...@gmail.com> #32
So far it sounds like we've noted it's much slower to type certain things, and to paste large amounts of text.
It's also incredibly slow to **delete** large amounts of text.
Chrome profiler froze for as much as 4.9 minutes before I gave up. It shows all that time being on the keydown event, and inside is just a huge stack of layout events that are all about ~150ms.
This is pretty easy to repro, and the issue is (seemingly) exponentially worse the more text you delete.
It's also incredibly slow to **delete** large amounts of text.
Chrome profiler froze for as much as 4.9 minutes before I gave up. It shows all that time being on the keydown event, and inside is just a huge stack of layout events that are all about ~150ms.
This is pretty easy to repro, and the issue is (seemingly) exponentially worse the more text you delete.
sh...@chromium.org <sh...@chromium.org> #33
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.
Sorry for the inconvenience if the bug really should have been left as Available.
For more details visithttps://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Sorry for the inconvenience if the bug really should have been left as Available.
For more details visit
yo...@chromium.org <yo...@chromium.org> #34
[Empty comment from Monorail migration]
st...@gmail.com <st...@gmail.com> #35
Chromium version 83.0.4103.61 appears to significantly improve the performance.
However, there is still a difference in latency between Chrome and Firefox on lower-end machines. The difference is not as noticeable on higher-end machines.
However, there is still a difference in latency between Chrome and Firefox on lower-end machines. The difference is not as noticeable on higher-end machines.
is...@google.com <is...@google.com> #37
This issue was migrated from crbug.com/chromium/582844?no_tracker_redirect=1
[Multiple monorail components: Blink>Editing, Blink>Layout]
[Monorail blocked-on:crbug.com/chromium/707656 ]
[Monorail blocking:crbug.com/chromium/698661 ]
[Monorail mergedwith:crbug.com/chromium/851931 ]
[Monorail mergedinto:crbug.com/chromium/892513 ]
[Monorail components added to Component Tags custom field.]
[Multiple monorail components: Blink>Editing, Blink>Layout]
[Monorail blocked-on:
[Monorail blocking:
[Monorail mergedwith:
[Monorail mergedinto:
[Monorail components added to Component Tags custom field.]
Description
Version: 50.0.2637.0/TOT
OS: OSX10.10
What steps will reproduce the problem?
What is the expected output?
Chrome should not be slower than Safari or Firefox.