입력 태스크

수집이 유한인 경우(타이밍 함수/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의 샘플 모드가 하드웨어 타이밍에 의한 단일 포인트로 설정될 때 버퍼를 생성하지 않습니다.