このページについて

C

MCU.Config.maxResourceCacheSize

ランタイム割り当てタイプのリソースキャッシュの最大サイズを定義します。

説明

このプロパティを使用すると、特定のランタイム割り当てタイプに対するリソースキャッシュの最大サイズを定義できます。このプロパティには、最大キャッシュサイズ(バイト単位)を表す整数値、または各AllocationType に対するキャッシュサイズのリストのいずれかを設定できます。

リソースキャッシュは、「OnDemand」キャッシュポリシーを持つリソースをキャッシュするために使用されます。これには、すべての圧縮リソースおよび「OnDemand」ポリシーを持つリソースが含まれます。 このようなリソースが表示可能になると、リソースのランタイム割り当てタイプに応じてリソースキャッシュにコピーされます。キャッシュが満杯の場合、新しいリソースを格納するために、キャッシュ内に最も長く格納されているにもかかわらず使用されていないリソースが削除されます。

最大キャッシュサイズは、「OnDemand」キャッシュポリシーを持つ最大のリソースのサイズよりも大きく設定してください。理想的なキャッシュサイズは、同時に表示されるすべての「OnDemand」画像を収容できる大きさであるべきです。これにより、フレーム更新のたびにリソースを解凍したり、RAM にコピーしたりする必要がなくなります。

たとえば、32 bpp の色深度を持つ 400x300 の画像は、最大 480,000 バイトの RAM を占有します。 このような画像が 2 枚同時に表示される可能性があり、それらのキャッシュポリシーが「OnDemand」である場合、妥当なキャッシュサイズは 960,000 バイトとなります。

内部的には、リソースキャッシュのサイズが収集され、JSON ファイルとしてqulrcc Resource Compilerに渡されます。qulrcc tool は、Qul::Core ライブラリが各ランタイム割り当てタイプのキャッシュサイズを把握するために必要なシンボルを含む C++ ファイルを生成します。

注: 内部的な管理を考慮して、実際のバッファサイズは MCU.Config.maxResourceCacheSize で指定された値よりわずかに大きくなる場合があります。

使用方法

このプロパティは、メインアプリケーションの `.qmlproject ` ファイル、またはターゲットプラットフォーム用の `BoardDefaults.qmlprojectconfig ` ファイルで指定できます。引数として整数または配列の配列を受け取ります。

コード例:

MCU.Config {
    // single value
    // maxResourceCacheSize: CacheSize
    maxResourceCacheSize: 3000
}
MCU.Config {
    // list of cache sizes per (optional) allocation type
    // maxResourceCacheSize: [ [ CacheSize, (AllocationType) ] , ... ]
    maxResourceCacheSize: [
        [1000, 128],
        [2000, 129],
        [3000]
    ]
}

このプロパティは

このプロパティは、QmlProject API 1.3で導入されました。

関連項目: リソースの管理ImageFiles.MCU.resourceCachePolicyImageFiles.MCU.resourceRuntimeAllocationType、およびqul_set_maximum_resource_cache_size

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。