> For the complete documentation index, see [llms.txt](https://shaheerxansari.gitbook.io/hydroportdoc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shaheerxansari.gitbook.io/hydroportdoc/performance.md).

# Performance

HydroPort is intended as a **fast, fluid-focused importer and cinematic playback tool** for baked Alembic caches. It opens an archive, decodes requested frames on demand, and uploads dynamic mesh data rather than preloading and retaining the entire simulation as static assets.

## The intended performance strategy

* **On-demand frame decoding:** request the samples needed for playback or rendering.
* **Asynchronous editor preview:** the most recent frame request takes priority over stale requests when scrubbing.
* **Exact cinematic frame requests:** final rendering obtains the requested frame, with bounded look-ahead prefetching.
* **Dynamic mesh updates:** reuse the renderer scene proxy and update geometry buffers instead of recreating all rendering state for every frame.

Actual speed depends on disk throughput, CPU decoding, geometry size, topology changes, and GPU upload costs. A large `.abc` file may be manageable for rendering yet slow when you jump randomly among complex samples.

## Developer testing: approximately 30 GB

**The developer reports successful testing with a fluid simulation cache of approximately 30 GB.** This is a workload claim, **not** a guaranteed file-size limit, universal load-time benchmark, or promise of real-time scrubbing.

## Best practices

{% stepper %}
{% step %}

### Finalize import settings

Finalize source units, velocity settings, and normal options **before** importing.
{% endstep %}

{% step %}

### Use fast local storage

Keep the Alembic file on fast local storage where possible.
{% endstep %}

{% step %}

### Frame in the editor, evaluate with MRQ

Use editor preview to frame your shot; use MRQ to assess final temporal quality.
{% endstep %}

{% step %}

### Avoid unnecessary reimports

Avoid frequent reimports of large caches just to toggle isolated settings.
{% endstep %}

{% step %}

### Test before long renders

Test a short render before committing to a long, high-temporal-sampling sequence.
{% endstep %}
{% endstepper %}
