キーワードから探す

※スペースで区切って複数検索が可能です。

カテゴリで絞り込む

ID:357
作成日: 2022/12/01

RegisterBuffer関数に登録するバッファのサイズに制約はありますか?

カテゴリ SDK-TransFlyer
対象製品 CoaXPressボード   

TransFlyerの仕様上、バッファ1面あたり約4GB未満(※1、※2)という制約があります。
そのため、バッファ1面あたり4GBを超えないように各サイズ設定を行ってください。

※1 環境によって多少前後するため、RegisterBuffer関数でバッファの登録ができない場合は、
バッファサイズを小さくしてから再設定してください。

※2 TransFlyer以外にも開発言語によっては、使用可能なバッファの最大値が約2GBまでという制約が存在します。具体的にはC#のBitmapクラスやByte配列などが該当しますので、使用される開発言語にはご注意ください。


なお、バッファサイズ(GB)は
「Width  x Height x PixelDepth  / 8 / 1024 / 1024 / 1024」で求めることが可能です。
ITraAcqGrabberクラスのWidth関数、Height関数、PixelDepth関数にて取得してください。


[計算例]
Width = 16384
Height =40000
PixelDepth  = 32bit(4Byte)
上記の設定値の場合、
(16384 × 40000  × 32 ) / 8 / 1024 / 1024 /1024= 2.44GBとなります。(※3)

※3 バッファサイズを計算する際にintで計算すると2GBを超えた時点で計算結果が負数になります。
バッファサイズを計算する場合は、unsigned intで計算するなど計算結果が負数とならないようご注意ください。
この内容は参考になりましたか?
ご回答いただきまして、ありがとうございます。
今後の参考にさせていただきます。
ご意見・ご感想、ありがとうございます。

関連するご質問

Now Loading...

Now Loading...