Public 変数
構造体 CriAtomConfigTag

ライブラリ初期化用コンフィグ構造体 [詳細]

#include <cri_le_atom.h>

すべてのメンバ一覧

Public 変数

CriAtomThreadModel thread_model
 スレッドモデル
CriFloat32 server_frequency
 サーバ処理の実行頻度
const CriFsConfigfs_config
 CRI File System の初期化パラメータへのポインタ
void * context
 プラットフォーム固有の初期化パラメータへのポインタ
CriUint32 version
 ライブラリバージョン番号
CriSint32 max_players
 最大プレーヤ数

説明

ライブラリ初期化用コンフィグ構造体

説明:
CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtom_Initialize 関数の引数に指定します。

CRI Atomライブラリは、初期化時に本構造体で指定された設定に応じて、内部リソースを 必要なだけ確保します。
ライブラリが必要とするワーク領域のサイズは、本構造体で指定されたパラメータに応じて 変化します。
備考:
デフォルト設定を使用する場合、 criAtom_SetDefaultConfig マクロで構造体にデフォルト パラメータをセットした後、 criAtom_Initialize 関数に構造体を指定してください。
注意:
将来的にメンバが増える可能性があるため、 ::criAtom_SetDefaultConfigマクロで必ず構造体を初期化してください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照:
criAtom_Initialize, criAtom_SetDefaultConfig

変数

CriAtomThreadModel thread_model

スレッドモデル

説明:
CRI Atomライブラリのスレッドモデルを指定します。
参照:
CriAtomThreadModel
CriFloat32 server_frequency

サーバ処理の実行頻度

説明:
サーバ処理を実行する頻度を指定します。
通常、アプリケーションのフレームレートと同じ値を指定します。

CRI Atomライブラリは、ファイル読み込みの管理や、音声データのデコード、音声の出力、 ステータスの更新等、ライブラリ内部で行う処理のほとんどを1つの関数でまとめて 行います。
CRIミドルウェアでは、こういったライブラリ内の処理を一括して行う関数のことを "サーバ処理"と呼んでいます。

スレッドモデルが CRIATOM_THREAD_MODEL_MULTI の場合、サーバ処理はCRI Atomライブラリ が作成するスレッドで、定期的に実行されます。
スレッドモデルが CRIATOM_THREAD_MODEL_SINGLECRIATOM_THREAD_MODEL_USER_MULTI の場合、サーバ処理は criAtom_ExecuteMain 関数内で実行されます。

server_frequency には、サーバ処理を実行する頻度を指定します。
スレッドモデルが CRIATOM_THREAD_MODEL_MULTI の場合、CRI Atomライブラリは指定された 頻度でサーバ処理が実行されるよう、サーバ処理の呼び出し間隔を調節します。
スレッドモデルが CRIATOM_THREAD_MODEL_SINGLECRIATOM_THREAD_MODEL_USER_MULTI の場合、ユーザは criAtom_ExecuteMain 関数を server_frequency で指定した頻度以上 で実行する必要があります。

アプリケーションのフレームレートの変動が大きく、サーバ処理を実行する頻度にバラツキ ができてしまう場合には、最悪のフレームレートを想定して server_frequency の値を指定 するか、またはスレッドモデルに CRIATOM_THREAD_MODEL_MULTI を指定してください。
備考:
サーバ処理の実行頻度を多くすると、単位サーバ処理当たりの処理量(デコード量等) が少なくなります。 その結果、単位サーバ当たりの処理負荷は小さくなります(負荷が分散されます)が、 サーバ処理の実行に伴うオーバーヘッドは大きくなります。
(携帯ゲーム機等、CPUリソースが少ない環境でサーバ処理の実行頻度を多くしすぎた場合、 サーバ処理の実行に伴うオーバーヘッドが無視できなくなる可能性があります。)

サーバ処理の実行頻度を少なくすると、単位サーバ処理当たりの処理量が多くなります。
サーバ処理の実行に伴うオーバーヘッドは低減されますが、単位サーバ処理当たりの負荷 が高くなるため、フレーム落ち等の問題が発生する恐れがあります。
注意:
スレッドモデルに CRIATOM_THREAD_MODEL_SINGLECRIATOM_THREAD_MODEL_USER_MULTI を指定したにもかかわらず、 criAtom_ExecuteMain 関数が server_frequency で 指定した値以下の頻度でしか実行されなかった場合、再生中の音が途切れる等の問題が 発生する可能性がありますので、ご注意ください。
参照:
criAtom_ExecuteMain
const CriFsConfig* fs_config

CRI File System の初期化パラメータへのポインタ

説明:
CRI File Systemの初期化パラメータへのポインタを指定します。 NULLを指定した場合、デフォルトパラメータでCRI File Systemを初期化します。
参照:
criAtom_Initialize
void* context

プラットフォーム固有の初期化パラメータへのポインタ

説明:
CRI Atomライブラリを動作させるために必要な、 プラットフォーム固有の初期化パラメータへのポインタを指定します。 NULLを指定した場合、デフォルトパラメータでプラットフォーム毎に必要な初期化を行います。
パラメータ構造体は各プラットフォーム固有ヘッダに定義されています。 パラメータ構造体が定義されていないプラットフォームでは、常にNULLを指定してください。
参照:
criAtom_Initialize
CriUint32 version

ライブラリバージョン番号

説明:
CRI Atomライブラリのバージョン番号です。
criAtom_SetDefaultConfig マクロにより、本ヘッダに定義されているバージョン番号が設定されます。
注意:
アプリケーションでは、この値を変更しないでください。
CriSint32 max_players

最大プレーヤ数

説明:
アプリケーション中で使用するプレーヤ(CriAtomPlayer)の数を指定します。
アプリケーション中で criAtomPlayer_CreateStandardPlayer 関数を使用してプレーヤを作成する場合、 本パラメータに使用するプレーヤの数を指定する必要があります。

max_playersには「同時に使用するプレーヤの最大数」を指定します。
例えば、 criAtomPlayer_CreateStandardPlayer 関数と criAtomPlayer_Destroy 関数を交互に続けて実行するケースにおいては、 最大同時には1つのプレーヤしか使用しないため、関数の呼び出し回数に関係なくmax_playersに1を指定することが可能です。
逆に、ある場面でプレーヤを10個使用する場合には、その他の場面でプレーヤを全く使用しない場合であっても、 max_playersに10を指定する必要があります。
参照:
criAtomPlayer_CreateStandardPlayer, criAtomPlayer_Destroy

CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版