Use the VART zero-copy configurations supplied with the release when they match your model and pipeline. Zero-copy avoids unnecessary buffer copies between VVAS pre-processing and inference stages.
Copies can be introduced when:
upstream elements provide system-memory buffers where VVAS memory or DMA-BUF would be more efficient;
the input tensor format, dimensions, or memory bank do not match the model and VVAS configuration.
When using external pre-processing, the reference pipeline uses tee to keep
the original stream available while a separate branch runs inference on the
pre-processed tensor. vvas_xmetaaffixer then attaches the inference metadata
to the branch used by downstream elements. This layout keeps caps negotiation,
queue placement, and allocator behavior easier to inspect when measuring
performance. For a complete example, see
VVAS NPU Solution and vvas_xmetaaffixer.
For details on how vvas_xinfer negotiates memory and allocators, see
VVAS XInfer Buffer Allocation Strategies. For zero-copy usage examples,
see Zero Copy Use Case.