ノルウェーOperaは、同社の次世代Webブラウザ「Opera One」を4月25日に発表した。2023年後半にWindows、macOS、Linuxにそれぞれ対応した正式版の提供を始める予定。現時点では、開発者向けの「Early-access Developer Version」を配布している。
Opera Oneの最大の特徴は、Webページ描画の仕組みをタブやボタンなどのユーザーインターフェース部品の描画に取り入れた「Multithreaded Compositor」にある。Operaをはじめ、Chromiumを基にしたWebブラウザでは、Webページを描画する際に、2つのスレッドが動作する。1つ目がメインスレッドで、HTMLやCSS、JavaScriptなどのコードを解釈し、それぞれの要素の大きさや配置を決め、ユーザーからのクリックやスクロールなどの操作を受け取る役目を担う。
そしてメインスレッドは2つ目の「コンポジタースレッド」に計算結果を私、コンポジタースレッドが画面への描画(レンダリング)を担当する。アニメーション効果などの再現もコンポジタースレッドの役目だ。
このようにWebページの描画を大きく解釈とレンダリングに分けて、それぞれ別のスレッドに担当させることで、メインスレッドがコードの解釈に手間取って反応が遅れたとしても、コンポジタースレッドはその影響を受けることなく、画面に確実にレンダリングしていくことができるようになっている。
一方で、タブやボタン、アドレスバー、検索バーなど、Webブラウザのユーザーインターフェイス部品の描画は、たった一つのスレッドがすべてを担当している。その結果、処理が追い付かなくなって、タブなどのアニメーション効果がぎこちないものになることがある。
この問題に対処するためにOperaはWebブラウザのユーザーインターフェイス部品の描画に、Webページの描画と同じように2つのスレッドを使用する方法を採用した。これで、メインスレッドの反応が遅れても、部品の描画やアニメーション効果が滞ることが少なくなる。
このMultithreaded Compositorの効果を活かした新機能が「Tab Islands」だ。これは、ユーザーが新しいタブをどんどん開いていったときに、関連するタブを自動的にグループ化する機能だ。自動的にグループ化されたタブをグループから外すことや、ユーザーが任意のタブを選んで、好みのTab Islandsを作ることも可能だ。
またOperaは、数カ月以内に独自のAIエンジンの提供を始める計画も明らかにしている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です