Microsoftのおかげで、ChromiumブラウザでのスクロールはすぐにクラシックEdgeと同じくらい良くなるかもしれません
3分。 読んだ
上で公開
MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む
オープンソースプラットフォームは、マイクロソフトのようなソフトウェアの巨人が積極的に貢献した場合にのみ繁栄します。 これはまさにChromiumの世界で起こっていることです。
Microsoft EdgeはオープンソースプラットフォームChromiumの恩恵も受けているため、Microsoftは、Chromiumブラウザーでのスクロールを従来のEdgeブラウザーと同じくらい優れたものにする新機能に取り組んでいます。
スクロールエクスペリエンスをEdge(クラシック)のようにするために、Microsoftは複合スクロールバーをimplスレッドに移動することを計画しています。 これにより、ユーザーはメインスレッドがビジー状態の場合でも、スクロールバーを使用して操作およびスクロールを続けることができます。
Microsoft 説明して、「マウスを使用したスクロールバーのスクロールは、Chromiumのメインスレッドで発生します。 メインスレッドがビジー状態の場合(JSの実行時間が長いなどの理由で)、スクロールバーをクリックしてスクロールすると、イベントがMainThreadEventQueueにキューに入れられ続け、メインスレッドが解放されるのを待つため、ぎくしゃくしたように見えます。」
「平均して、スクロールバーのドラッグは、今日のEdgeHTMLと比較してChromiumで約2〜4倍高いレイテンシーを持ち、特に忙しいサイトではさらに悪くなります。 このギャップは主に、オフスレッドスクロールバードラッグのためのEdgeHTMLの機能に起因します。 Chromiumのメインスレッドも回避することで、スクロールバードラッグのパフォーマンスをEdgeHTMLで観察されるものとより一致させることができると信じています。」
提案が承認されました
良いニュースは、マイクロソフトからの貢献がオープンソースコミュニティによってレビューされ承認されたことです。 それだけではありません。MicrosoftのコードはChromiumおよびCanaryビルドにマージされています( WindowsLatest).
Chrome Canaryを使用している場合は、「Compositorスレッドスクロールバーのスクロールを有効にする」というフラグが表示されます。 Microsoftは、スクロールの問題に関するすべてのフォローアップチェンジリストはフラグの下に停滞すると述べた。
フラグが使用可能であるため、有効にすることができますが、開発中の何かについて話しているため、期待どおりに機能しない可能性があることを忘れないでください。
コンポジターのスレッドスクロールバーのスクロールについて、Microsoftは次のように述べています。「マウスダウンがレンダラーに到達すると、ヒットテストが行われます。 合成されたスクロールバーがヒットした場合、MouseEventがドロップされ、GestureScrollBeginとGestureScrollUpdateがCompositorThreadEventQueueに追加されます。 これらのジェスチャスクロールイベントには、どのスクロールバー部分がヒットしたかに基づくスクロールデルタが含まれています(現時点では矢印)。 マウスアップすると、GestureScrollEndがキューに追加されます。 その後、VSyncに合わせた方法で(ジェスチャイベントとして)ディスパッチされます。」