この記事は OpenHarmony TSC 公式 WeChat パブリックアカウント「Summit Review Issue 7 | Window Drawing Technology Evolution and New Trends 」からの転載です
スピーカー | 陳秋林
レビューとアレンジ | Liao Tao
写植校正 | 李萍平
ゲストプロフィール
ファーウェイの端末OSのシニアアーキテクトであり、フィールズラボの所長であるChen Qiulin氏は、端末OSの研究開発に長年従事し、LiteOS、Androidのパフォーマンス最適化、HMSフレームワーク、およびHMSフレームワークのアーキテクチャ設計と技術開発を担当してきました。 OpenHarmony ウィンドウ システム。
記事コンテンツのソース
第 1 回 Open Atom オープンソース財団 OpenHarmony テクノロジー サミット - OS カーネルおよび Windows サブフォーラム
ビデオレビュー
ビデオ リンク:サミット レビュー第 7 号 | ウィンドウ レンダリング テクノロジの進化と新しいトレンド - Chen Qiulin_哔哩哔哩_bilibili
正 文 内 容
ウィンドウ レンダリングはグラフィック オペレーティング システムの基本機能であり、ターミナル アプリケーションのグラフィック インターフェイスの表示パフォーマンスと品質、およびユーザー操作の応答速度とスムーズなエクスペリエンスを決定します。インテリジェント インターネット オブ エブリシングという新しいシナリオにおいて、ウィンドウ レンダリング テクノロジの開発における課題は何ですか?また、テクノロジの進化トレンドは何ですか? ファーウェイの端末OSのシニアアーキテクトであるChen Qiulin氏は、第1回OpenHarmony Technology Summitでいくつかの考えを共有した。
01 ►端末ウィンドウ描画の新たな課題
ウィンドウ システム (ウィンドウ システム/ウィンドウ システム) は、グラフィカル オペレーティング システムの重要なサブシステムの 1 つであり、アプリケーションの機能インターフェイスをグラフィックとしてユーザーに表示する役割を果たし、ユーザーがそれを操作および対話できるようにサポートします。タッチ、キーボード、マウス、音声など。ウィンドウ システムは、デスクトップ環境、GUI フレームワーク、表示サービス、ウィンドウ マネージャーの 4 つの部分で構成され、それぞれアプリケーションとそのエントリ管理、アプリケーション開発フレームワークと SDK、グラフィカル インターフェイスの描画と表示、ウィンドウ管理、操作の提供を担当します。コントロール。
Windowsシステム
1.1 ►►高解像度と高リフレッシュ レートの普及により、GUI 描画の課題がさらに増大
ウィンドウ描画の計算負荷は、画面解像度、フレーム レート、画質などの要因によって決まります。端末のソフトウェアやハードウェアの発展に伴い、画面の解像度、フレームレート、画質は向上し続けており、ウィンドウの描画負荷は増加し続けています。たとえば、6k 解像度 @240Hz 画面のウィンドウ描画負荷は、2k 解像度 @60Hz 画面のウィンドウ描画負荷よりも 30 倍以上高くなります。240Hz のリフレッシュ レートでは、CPU と GPU が 4 ミリ秒以内に描画フレームを完了する必要があり、画面解像度が 2 倍になるたびに、GPU の負荷と DDR 帯域幅が 4 倍に増加します。
1.2 ►►クロスデバイス コラボレーションとクロスシステムのエコロジー統合は、Windows のクロスデバイスおよびクロスシステム機能への挑戦
インテリジェント インターネット オブ エブリシングの新しいシナリオでは、さまざまな種類のユーザー端末デバイスが存在し、ユーザー中心のマルチデバイスのコラボレーション エクスペリエンスをサポートする必要があります。ウィンドウ システムは、ウィンドウ レベルのクロスデバイス転送をサポートするためにウィンドウを分散する機能を提供する必要があります。さらに、PC 上の Linux アプリケーション、Windows アプリケーション、Android アプリケーションとの互換性など、PC では環境上の互換性の問題が避けられません。これには、ウィンドウ システムにマルチソース ウィンドウ フュージョン管理の機能が必要です。エクスペリエンスとユーザーの期待のこれら 2 つの側面の間には依然として大きなギャップがあり、ウィンドウ システムをどのように革新するかについてはさらなる検討が必要です。
1.3 ►►インテリジェント コックピットとその他のシナリオ 2D/3D UI 融合により、ウィンドウ レンダリングのパフォーマンスに新たな課題が生じる
現在、スマートコックピットのアーキテクチャは「マルチコア・複数スクリーン」から「1コア・複数スクリーン」+「クロスドメイン統合」へと発展しています。この傾向の下では、上位層のアプリケーションはより複雑になります。
(1)計器分野における2D計器と3Dカッコいい車体の融合展示。
(2) 中央コントロールエリアの 360AR パノラマ ディスプレイ、2D メニュー ボタン、および 3D AR コンテンツ フュージョン ディスプレイ。
(3) HUD 領域に表示される情報が 3D シーンと融合されます。
ハードウェア全体の計算能力は低下するものの、ウィンドウの描画負荷が大幅に増加する場合、ウィンドウ システムはどのようにして「1 コア上の複数画面」と 2D/3D UI 統合のスムーズなエクスペリエンスを実現できるでしょうか。
「ワンコアマルチスクリーン」アーキテクチャ
1.4 ►►イマーシブシーンは、新しいインタラクティブな変化をもたらし、Windows に新しい要求をもたらします。
イマーシブ XR アプリケーションは、表示と操作において通常の端末アプリケーションとは大きく異なります。イマーシブ アプリケーションは 2D と 3D の融合空間に直面しており、3D オブジェクトを操作するには 2D スクリーン タッチを使用する必要があります。制御点は 3D 空間または 3D モデル上の特定の不規則な表面上にある場合があります。操作オブジェクトを決定するにはどうすればよいですか? これには、3 次元空間における焦点の定義が含まれます。没入型シーンは、仮想と現実の融合ディスプレイ、3D 空間の新しいインタラクション パラダイム、空間認識などのウィンドウ システムに対する新しい要件を提示します。
多様な没入型デバイス
02 ► Linux、Android、iOS ウィンドウ レンダリング アーキテクチャの進化
2.1 ►► Linux Windows アーキテクチャ
Linux ウィンドウ アーキテクチャは、パフォーマンスと環境上の互換性の 2 つのラインを中心に進化しています。初期にはグラフィックスのレンダリングに X11 プロトコルが使用され、その後描画の高速化に DRI 方式が使用され、その後、レンダーとウィンドウ マネージャーが Wayland に統合されました。生態学的互換性の観点では、Xwayland は X11 アプリケーションと Wayland 間の互換性を解決し、Glamour はグラフィックス API との互換性などの問題を解決します。
Linux Windows アーキテクチャ
2.2 ►► Android ウィンドウ アーキテクチャ
Android ウィンドウ アーキテクチャは、主にパフォーマンスを中心に進化しています。
Android 3.0 より前の最初の段階では、UI は CPU によってレンダリングされます。
Android 4.0 以降の第 2 段階では、ハードウェア アクセラレーション (GPU レンダリング) が有効になります。
第 3 段階、つまり Android 4.1 では、VSYNC とトリプル バッファーが導入されます。
第 4 段階、つまり Android 5.0 では、Render スレッドと UI スレッドの分離が実現されます。
Android ウィンドウ アーキテクチャの主な特徴:
(1) 個別のレンダリング アーキテクチャを使用して、各アプリケーションはアニメーションとレンダリングを独立して実行します。
(2) フレーム損失や途切れを可能な限り回避するために、マルチバッファローテーションが使用されます。
(3) ウィンドウ管理と合成 (SurfaceFlinger) の分離。
(4) 2D レンダリングは Skia グラフィックス ライブラリによってホストされます。
Android ウィンドウのアーキテクチャ
2.3 ►► iOS ウィンドウの構造
iOS ウィンドウ アーキテクチャの進化は、主に、メタルベースの MPS や AR キットなど、メタルと AR の革新に焦点を当てています。Linux や Android との違い:
(1) 統一されたレンダリング アーキテクチャを使用して、ウィンドウ内のコントロールの動的効果とウィンドウ間のリンクの動的効果が均一に処理されます。
(2) 近年、AR グラフィックス エコロジーを精力的に開発し、AR シーン アプリケーションによる 3D レンダリング技術の進化を促進し、さまざまなキットを通じてプラグイン 3D 機能を提供します。
(3) 自社開発の GPU と新世代の Metal API を中心とした垂直統合 (ソフトウェアとハードウェアのコラボレーション)。
(4) さまざまな SDK と開発ツールが緊密に統合されており、各キット間の相互運用性が良好で、基礎となる機能からシステム フレームワークに至る全体的なソリューションを形成します。
iOS ウィンドウのアーキテクチャ
一般に、Linux ウィンドウ アーキテクチャはパフォーマンスと互換性を中心に進化し続け、Android ウィンドウ アーキテクチャはパフォーマンスを中心に進化し、iOS ウィンドウ アーキテクチャは統合レンダリング、垂直統合、開発ツールとの緊密な統合に焦点を当てて進化しています。
03 ►窓描画の新技術と動向
3.1 ►►高効率な GUI 描画
最新の Android ベースのウィンドウでは、GUI のレンダリングおよび表示パイプラインは複雑な構造を持ち、プロセスに時間がかかり、複数のプロセス間のコラボレーションが必要となり、並列化が低いため、パフォーマンスと消費電力の問題が生じます。さらに、2D レンダリングのための CPU と GPU 間の相互作用により、ドライバーのオーバーヘッドが高くなり、GPU のオーバードローの問題が深刻になります。前述の従来の 2D パイプラインの既存の問題を考慮すると、データ駆動型の 2D ミニマリスト パイプライン アーキテクチャを検討する必要があります。CPU は、描画命令を通じて GPU に送信される 2D プリミティブ データの生成を担当します。 2Dプリミティブデータに対してGPUによる前処理、ラスタライズ、色付けを行い、高パフォーマンスなUI描画を実現します。実際の実験では、従来の 2D パイプラインと比較して、データ駆動型 2D ミニマリスト パイプラインの CPU 負荷は 50% 以上削減され、GPU ドライバーは大幅に簡素化されました。
データ駆動型の 2D ミニマリスト パイプライン
3.2 ►►分散ウィンドウと異種ウィンドウの融合
マルチスクリーンコラボレーションシナリオでは、既存のプロジェクションベースのソリューションには、大量の送信データ、高消費電力、長い遅延、低フレームレートなどの欠点があります。分散ウィンドウ技術を検討し、デバイス間のウィンドウ動作環境をプルスルーし、ユーザーインターフェイスのウィンドウ表示とアプリケーションロジックを分離し、デバイス間のウィンドウの自由なフローを実現し、新しいデバイスの表示環境に適応し、消費電力を削減する必要があります。 /遅延/ リフレッシュ レートはキャスト画面よりも優れています。さらに、エコロジーアプリケーションが仮想マシン/コンテナ内で実行される場合、コンテナアプリケーションウィンドウとホストシステムのネイティブウィンドウは統合された方法で管理されず、2つの制御エクスペリエンスが完全に分離されるため、マルチプルな方法を検討する必要があります。 -ソース ウィンドウ フュージョン テクノロジーにより、統合管理と一貫したエクスペリエンスを実現します。
異種ウィンドウ フュージョン アーキテクチャ
3.3 ►► 2D&3D 融合 UI フレームワーク
車両のスマートコックピットシーンでは、3Dグラフィックスと2D UIを組み合わせてさまざまな情報を表示し、ドライバーに正確で没入型の運転体験を提供することがトレンドになっています。現在の UI 開発フレームワークには、主に次のような 2D と 3D の融合シーンのサポートがありません: OS ウィンドウの GUI フレームワークは主に 2D インターフェイス開発をサポートし、3D の動的な光と影の効果や空間深度が不足しています; 純粋な 3D インターフェイス開発フレームワーク ( Kanziや各種ゲームエンジンフレームワーク)の開発は難しく敷居が高い。したがって、2D&3D ハイブリッド UI 開発を実現するには、高性能で軽量な 2D&3D 融合 UI フレームワークをさらに検討する必要があります。このフレームワークには、次の機能が必要です。
(1) 3D シーン コントロールを提供し、3D シーン モデルをロードし、リアルなレンダリングをサポートします。
(2) 2D UI を 3D シーンに埋め込み、3D モデルのサブサーフェスと関連付けて表示できます。
(3) 2D UI コントロールと 3D シーン プロパティの双方向の関連付けをサポートします。
(4) 2D&3D レンダリングパイプラインのシームレスな切り替え。
2D&3D 融合 UI フレームワーク
3.4 ►►新世代の人間とコンピューターの対話と表示
XR やメタバースなどの新しいシナリオでは、ユーザー インタラクション インターフェイスは 3D 空間であり、従来の 2D 平面インタラクション パラダイムは適用できなくなります。OS ウィンドウは、追加のポーズ、環境認識システム、仮想現実融合表示システム、および新しい UI コンポーネントを提供する必要があります。
人間とコンピュータの対話および表示ソリューション
一般に、将来の新しいシナリオでは、ウィンドウ アーキテクチャは、(1) ミニマリスト UI 描画パイプライン、(2) 分散ウィンドウ、マルチソース ウィンドウ フュージョン、(3) 2D と 3D フュージョン UI フレームワーク、(4) イマーシブを中心に展開する必要があります。シーンの新しいインタラクション パラダイムの 4 つのトレンドが探求され、進化します。
04 ►概要_
アプリケーション シナリオとユーザー ニーズの変化は、Windows レンダリング テクノロジの進化の主な原動力です。私たちは、皆様が Windows レンダリング テクノロジの革新に注目し、参加し、OS Windows の新しいシナリオをより適切に実現できるよう協力していただけることを楽しみにしています。すべてのインターネット。