인스턴스에 의해 얼마나 많은 메모리가 AUSampler (아마도 soundFont 데이터 크기 포함)에 사용되고 있는지를 어떻게 알 수 있습니까?AUSampler 인스턴스의 크기를 결정하는 방법은 무엇입니까?
(아래) sizeof
을 사용해 보았지만 이해가되지 않습니다. 4? 4 뭐야?
문맥 : iOS 용 뮤지컬 장난감을 만들고 있습니다. AUSampler
은 모노 포닉이므로 동일한 샘플러 인스턴스를 사용하는 두 개의 트랙은 서로의 음을 끕니다. 또한 soundFonts에는 많은 사전 설정이있을 수 있으므로 동일한 soundFont의 다른 사전 설정을 사용하려면 여러 AUSampler
인스턴스를 만들어야합니다. soundFonts는 수 메가 바이트 이상으로 실행될 수 있으므로 내 메모리 오버 헤드가 무엇인지 판단하고 싶습니다. - 감사!
노드 : 4.000000 단위 : 4.000000
Float64 nodeSize = sizeof(samplerNode);
Float64 unitSize = sizeof(samplerUnit);
printf("node: %f unit: %f \n", nodeSize, unitSize);
sizeof는 항상 크기를 바이트로 반환하므로 4 바이트입니다. 그리고 samplerNode와 samplerUnit이 일부 불투명 한 구조에 대한 typedef'd 포인터이고, iOS에서 포인터가 4 바이트이기 때문에 4입니다. 어쨌든'sizeof'는 런타임이 아니라 컴파일 타임에 평가되기 때문에 가능하지 않을 수 있습니다. –