Kanzi 3.9.8 リリースノート

2Dエフェクト

  • ノードに複数のエフェクトを適用できる Effect Stack 2D エフェクトを導入しました。複数のエフェクトの使用 を参照してください。

    ../../_images/effect-stack-2d-large.png
  • エフェクトでバインディングを使用し、エフェクトプレハブからプロパティを公開できるようになりました。2Dエフェクトプレハブのインスタンスをカスタマイズする を参照してください。

  • Blend Mode を Outline Effect 2D および Shadow Effect 2D エフェクトで設定できるようになりました。

    例えば、よりリアルな影を作成するために、Multiply (advanced khr) ブレンドモードを使用します。

アクティビティ

  • デフォルトで、Kanzi がアクティビティを仮想化すると、そのアクティビティのアクティビティプロパティをシリアライズします。Kanzi がそのアクティビティを非仮想化すると、そのアクティビティのアクティビティプロパティをデシリアライズし、アクティビティプロパティの値を復元します。これらのプロパティを使用して、UI 状態の保持を制御できるようになりました。

    • アクティビティの非アクティブ化時に、Preserve History プロパティを使用すると、そのアクティビティおよび子アクティビティのアクティビティプロパティの値のシリアル化を制御できます。

      ../../_images/properties-state-preservation-policy.png
    • アクティビティのアクティベーション時に、Activate Activity メッセージの Reset History 引数を使用すると、そのアクティビティおよびその子アクティビティのアクティビティプロパティの値のデシリアライズを制御できます。同じメッセージ引数を Deactivate Activity メッセージと共に使用して、非アクティブ化されたアクティビティの値をシリアライズするかどうかを制御できます。

      ../../_images/node-components-activate-activity-activity-state-restoration-policy.png

    仮想化の制御 を参照してください。

    移行手順については、ActivityHostConcept APIの変更点 を参照してください。

  • Kanzi Engine C++ APIでは、アクティビティホストの動作のカスタマイズが改善されました。カスタム実装では、次の関数をオーバーライドできるようになりました。

  • Kanzi Studio における Code Behind ワークフローの改善:

    • Activity Browser は、Code Behind がビルドされている間、進行状況を表示します。

    • Kanzi Studio は、Code Behind のビルドが失敗したときに、より詳細な情報を提供します。

Android

  • デバッグライブラリ内の補助デバッグ情報の量を削減しました。これにより、APKファイルのサイズが小さくなり、アプリケーションをターゲットデバイスにより迅速にデプロイできるようになります。

  • Androidプラットフォームパッケージとテンプレートを更新し、JDK 11および17をサポートしました。Kanzi アプリケーションを移行するには、Androidアプリケーションテンプレートの変更 を参照してください。

レンダリング

シェーダー

アプリケーションを設定してシェーダーバイナリをキャッシュできるようになりました。オフラインシェーダーコンパイルツールが利用できないプラットフォームでの Kanzi アプリケーションのパフォーマンスを向上させるために、シェーダーバイナリキャッシュを使用してください。シェーダーバイナリのキャッシュ を参照してください。

ウィンドウ管理 (Windowing)

  • X11 EGLグラフィックス出力APIをCからC++に変換し、APIを改善しました。

  • AndroidウィンドウサーフェスEGLグラフィックス出力APIをCからC++に変換し、APIを改善しました。

    移行手順については、EGL APIの変更点 を参照してください。

  • EGLグラフィックスフォーマットIDを使用してEGL構成を選択できるようになりました。EGLGraphicsFormatID を参照してください。

  • Wayland EGL グラフィックス出力 API を C から C++ に変換し、API に次の改善を加えました。

    • Kanzi が使用する Wayland シェルを設定できるようになりました。Waylandシェル を参照してください。

    • XDGシェルのサポートを追加し、デフォルトで設定しました。

    • IVIシェルでは、Kanzi が使用するIVIサーフェスIDを設定できます。Wayland IVI サーフェス ID を参照してください。

    Kanzi Engine C++ APIリファレンスで、wayland::DefaultWaylandEGLGraphicsOutput を参照してください。

  • Wayland IVI EGL グラフィックス出力 API を導入しました。この API を使用することで、Kanzi アプリケーションは IVI 拡張機能を利用して、画面上にウィンドウを配置します。

    IVI拡張機能のためにいくつかのアプリケーション構成を追加しました。Wayland IVI 拡張機能の設定 を参照してください。

    APIはXDGおよびIVIシェルで使用できます。

    Kanzi Engine C++ API リファレンスで、kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput を参照してください。

  • 色チャンネルとデプスバッファのサイズ、およびアンチエイリアスサンプルの数を設定するサーフェスプロパティのデフォルト値を変更しました。サーフェスのプロパティ を参照してください。

    移行手順については、デフォルトのサーフェスプロパティの変更 を参照してください。

  • application.cfg ファイルおよびコマンドラインで EGL IMG コンテキストの優先度ヒントを設定できるようになりました。EGLIMGContextPriority を参照してください。

  • コマンドラインでサーフェスのカラースペースを設定できるようになりました。SurfaceColorSpace を参照してください。

入力処理

  • キーイベントの翻訳は、オペレーティングシステム固有の生のキーコードを保持するようになりました。

    • KeyEvent は、翻訳されたキーイベントの生のキーコードを保持します。

    • KeyMapEventFilter は、変換されたキーイベントの生のキーコードを格納します。

    • KeyRepeatGenerator は、翻訳されたキーイベントと生のキーイベントの両方を繰り返します。

メッシュ (Meshes)

Kanzi Studio のユーザビリティ

  • ノードからプロパティとその関連付けられた To Source バインディングを削除するには、Properties ウィンドウでプロパティを右クリックし、Remove Property And Binding を選択します。

    ../../_images/properties-remove-property-and-binding.png
  • Kanzi Studio project テンプレートを使用してプロジェクトを作成した場合、Library > Build Configuration > <Build Configuration> を右クリックして Create Kanzi Application Directory Hierarchy を選択すると、Kanzi Studio は <KanziWorkspace>/Templates/Basic_application からアプリケーションテンプレートをプロジェクトにコピーします。

  • Kanzi Studio プロジェクトに有効な Android ビルド構成がない場合、File > Export > Build Android Package を選択すると、Kanzi Studio は Library > Build Configurations に Android ビルド構成を作成します。

Kanzi Java API

Kzb バージョン (Kzb Version)

  • kzbファイル形式のバージョンを27.0に変更しました。

ドキュメント

注目すべき修正点

Kanzi Engine

  • Kanzi がグラフィックスコンテキストを破棄した後にGPUリソースをクリーンアップする問題を修正しました。(RENDERING-185)

  • Kanzi がGPUドライバーがGLES 2.0とGL_EXT_draw_instanced拡張機能のみをサポートしている場合に GL_INVALID_OPERATION 警告を記録する原因となっていた問題を修正しました。(RENDERING-264)

  • GPUドライバーがマルチサンプルアンチエイリアシングをサポートしていない場合に、Kanzi が例外をスローする問題を修正しました。(RENDERING-271)

  • 3Dノードのマテリアルをランタイム中に変更すると、Kanzi が不必要な通知ハンドラーを実行してしまう問題を修正しました。(RENDERING-281)

  • 3Dアセットをインポートする際に、稀に Kanzi が終了してしまう問題を修正しました。(458240)

  • Kanzi アプリケーションがAndroidでタイ語のテキストを表示すると終了してしまう問題を修正しました。(INTE-164)

  • メインループスケジューラタイマーが、Kanzi メインループの開始タイムスタンプを使用する代わりに、開始タイムスタンプとしてシステム時間を使用するように修正しました。Kanzi メインループフレームの外で作成したタイマーは、今後有効な開始タイムスタンプを取得します。例えば、Kanzi Android framework (droidfw) を使用して Android UI スレッドから作成したタイマーです。(ANDROID-383)

Kanzi Studio

  • 無効な Kanzi Engine ファイルをインポートする際に、Kanzi Studio が重複したログエントリを作成する問題を修正しました。(ANDROID-266)

  • 新しいプロジェクトテンプレートの数を制限していた問題を修正しました。(SDK-8979)

Kanzi Android framework (droidfw)

  • アプリケーションが中断されたときに、Kanzi が長押しイベントを早期にトリガーする問題を修正しました。(ANDROID-383)

関連項目

Kanzi 3.9.8 マイグレーションガイド

既知の問題