CRI ADX  Last Updated: 2024-03-21 14:32 p
CriAtomConfigTag 構造体

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

#include <cri_atom.h>

フィールド

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

詳解

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

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

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

フィールド詳解

◆ thread_model

CriAtomThreadModel thread_model

スレッドモデル

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

◆ server_frequency

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

◆ fs_config

const CriFsConfig* fs_config

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

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

◆ context

void* context

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

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

◆ version

CriUint32 version

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

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

◆ version_string

const CriChar8* version_string

ライブラリバージョン文字列

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

◆ max_players

CriSint32 max_players

最大プレーヤー数

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

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

この構造体詳解は次のファイルから抽出されました: