TextDiffPane.razor/TextDiffLine.razor render every line and every changed character into the DOM eagerly
— a nested per changed word/character, for the whole document, all at once.
The WinForms baseline uses ScintillaDiffControl (native Scintilla control), which is a virtualized editor that only renders the visible viewport regardless of document size. For a large JSON dump, Blazor could be constructing tens/hundreds of thousands of DOM nodes up front inside a BlazorWebView (WebView2)
— this is a plausible explanation for "never appears to complete," independent of any redundant-recompute bug.
TextDiffPane.razor/TextDiffLine.razor render every line and every changed character into the DOM eagerly
— a nested per changed word/character, for the whole document, all at once.
The WinForms baseline uses ScintillaDiffControl (native Scintilla control), which is a virtualized editor that only renders the visible viewport regardless of document size. For a large JSON dump, Blazor could be constructing tens/hundreds of thousands of DOM nodes up front inside a BlazorWebView (WebView2)
— this is a plausible explanation for "never appears to complete," independent of any redundant-recompute bug.