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