このページについて

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 ライセンスの下で利用可能です。
詳細はこちらをご覧ください。