버퍼 크기는 어떻게 결정되는가?
- 업데이트 날짜:2025-12-03
- 2분 (읽기 시간)
입력 태스크
수집이 유한인 경우(타이밍 함수/VI 세트의 샘플 모드가 유한 샘플로 설정), NI-DAQmx는 채널당 샘플 속성/프로퍼티의 값에 같은 크기의 버퍼를 할당합니다. 예를 들어 채널당 샘플에 1,000 샘플을 지정하고 어플리케이션이 두 채널을 사용하는 경우, 버퍼 크기는 2,000 샘플이 됩니다. 즉 버퍼는 수집하려는 모든 샘플을 정확히 수용할만한 크기가 됩니다. 수집이 연속인 경우(타이밍 함수/VI 세트의 샘플 모드가 연속 샘플로 설정), NI-DAQmx는 해당 값이 다음 테이블에 나열된 값보다 작지 않은 이상 채널당 샘플 속성/프로퍼티의 값에 같은 크기의 버퍼를 할당합니다. 채널당 샘플 속성/프로퍼티의 값이 테이블의 해당 값보다 작은 경우, NI-DAQmx는 테이블의 값을 사용합니다.
| 샘플 속도 | 버퍼 크기 |
|---|---|
| 지정된 속도 없음 | 10 kS |
| 0-100 S/s | 1 kS |
| 101-10,000 S/s | 10 kS |
| 10,001-1,000,000 S/s | 100 kS |
| > 1,000,000 S/s | 1 MS |
입력 버퍼 설정 함수/VI를 호출하여 기본 버퍼 크기를 덮어쓸 수 있습니다.
NI-DAQmx는 타이밍 함수/VI의 샘플 모드가 하드웨어 타이밍에 의한 단일 포인트로 설정될 때 버퍼를 생성하지 않습니다.
출력 태스크
생성의 경우, 생성을 시작하기 전에 쓰는 데이터의 양이 버퍼의 크기를 결정합니다. 쓰기 함수/VI의 여러 샘플 버전을 처음 호출하면 버퍼가 생성되고 크기가 결정됩니다.
또한 출력 버퍼 설정 함수/VI를 사용하여 출력 버퍼를 생성할 수도 있습니다. 이 함수/VI를 사용하는 경우, 데이터를 쓰기 전에 반드시 함수/VI를 사용해야 합니다.
타이밍 함수/VI의 채널당 샘플 속성/프로퍼티는 출력의 버퍼 크기를 결정하지 않습니다. 그 대신 생성할 샘플의 전체 개수를 결정합니다. n이 버퍼 크기인 경우, 채널당 샘플을 3×n으로 설정하면 버퍼에 정확히 3배의 데이터를 생성합니다. 정확한 양의 데이터를 생성하려면 채널당 샘플을 n으로 설정하십시오.
NI-DAQmx는 타이밍 함수/VI의 샘플 모드가 하드웨어 타이밍에 의한 단일 포인트로 설정될 때 버퍼를 생성하지 않습니다.