テキストエリアとブラウザベーステキストエディタの文字数限界

Chrome v70でエディタへの入力にテキストエリアを使用する標準的ケースの場合、ASCII文字の数十万文字程度でテキストエリアへの入力に遅延が生じ始める(遅延の大きさは後続文字数に比例し、よって入力済み文字列の先頭で最大となる)。Firefoxでは入力遅延はないように見えるが入力が数十万文字を超えると現実的な時間でこれを描画できない。このため現時点でブラウザ上に実装するテキストエディタが現実的に扱える文字数は10万文字程度までであり、エディタおよびレンダラの性能はこの文字数まで実用的な速度で動作すればよく、これを超える文字数への対応はブラウザ(テキストエリア)がボトルネックとなるため無意味である。

例として以下のMarkdownエディタは100万文字でも十分な速度*1で動作するがテキストエリアそのものの入力遅延によりこの文字数では実用に耐えない*2

https://falsandtru.github.io/securemark/

*1:100万文字を1分以内、追加入力を1秒以下で描画、ただし入力文字列は描画において画像等追加の描画を必要としないものとする。

*2:この文字数では入力中引っ掛かりを感じることがあるかもしれないが解消可能であるもののこの文字数に対応する意味がないためそのままにしている。