このページでは

C

qul_set_maximum_resource_cache_size

警告: この CMake コマンドは 2.4 以降、非推奨となっています。代わりにMCU.Config.maxResourceCacheSizeの使用をご検討ください。

概要

qul_set_maximum_resource_cache_size(<target>
                                    CACHE_SIZE <cache_size_in_bytes>
                                    [RUNTIME_ALLOCATION_TYPE <runtime_allocation_type>])

説明

このコマンドは、指定されたランタイム割り当てタイプに対するリソースキャッシュの最大サイズを設定します。

リソースキャッシュは、「OnDemand」キャッシュポリシーを持つリソースをキャッシュするために使用されます。これには、すべての圧縮リソースに加え、QUL_RESOURCE_CACHE_POLICY プロパティが明示的に「OnDemand」に設定されているリソースが含まれます。 そのようなリソースが表示可能になると、そのリソースのランタイム割り当てタイプに対応するリソースキャッシュにコピーされます。その時点でリソースキャッシュが満杯の場合、新しいリソースのためのスペースを確保するために、キャッシュ内に最も長く存在し、かつ使用されていないリソースが排除されます。

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

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

# Assuming that no custom runtime allocation type has been set for the images
qul_set_maximum_resource_cache_size(<target> CACHE_SIZE 960000)

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

オプション

CACHE_SIZE オプションは必須であり、最大キャッシュサイズをバイト単位で指定します。

RUNTIME_ALLOCATION_TYPE オプションは整数型であり、その値は0 以上かつ256 未満でなければなりません。これは、個々のリソースごとに設定される QUL_RESOURCE_RUNTIME_ALLOCATION_TYPE に対応しています。この値は、プラットフォームで認識されているmemory allocator types と一致する必要があります。ここで、[128,255] の範囲は、ユーザー定義のカスタムアロケータ専用となっています。

RUNTIME_ALLOCATION_TYPE オプションが指定されていない場合、デフォルトではImage 列挙型の値が使用されます。

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

「リソースの管理」、「QUL_RESOURCE_CACHE_POLICY」、および「QUL_RESOURCE_RUNTIME_ALLOCATION_TYPE」も参照してください 。

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