Skip to content

Commit 34440dd

Browse files
committed
clean up + formatting + try to reduce latency
1 parent 0d1ef19 commit 34440dd

6 files changed

Lines changed: 42 additions & 18 deletions

File tree

apps/interactive_drive/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ uv sync --package flashdreams-omnidreams --extra interactive-drive
5555
uv run flashdreams-run-v2 interactive-drive-omnidreams --mode webrtc --port 8089
5656
```
5757

58-
Use `interactive-drive-omnidreams-perf` instead for the native-accelerated,
59-
performance-tuned configuration.
58+
Use `interactive-drive-omnidreams-perf`/`interactive-drive-omnidreams-fast-perf` instead for the native-accelerated, performance-tuned configurations.
6059

6160
Forward so that you may connect via `<ip>:8089` by adding `--host 0.0.0.0`
6261

apps/interactive_drive/interactive_drive/core.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from flashdreams.infra.postprocess import VideoPostprocessChainConfig
2525
from flashdreams.plugins.registry import discover_postprocess_presets
2626
from flashdreams.runtime.keyboard import normalize_key
27-
from flashdreams.runtime_v2.session_desc import SessionDesc
27+
from flashdreams.runtime_v2.session_desc import BackpressureMode, SessionDesc
2828
from flashdreams.runtime_v2.step_result import StepResult
2929
from flashdreams.runtime_v2.user_input_event import (
3030
GamepadUserInputEvent,
@@ -453,7 +453,11 @@ def __init__(
453453
self._config: InteractiveDriveConfig | None = None
454454
self._desc = SessionDesc(
455455
output_layout=VideoTensorLayout.tchw,
456-
frames_per_second_for_ui=30,
456+
backpressure_mode=BackpressureMode.BLOCK,
457+
# If too low we start building up a
458+
# backlog of frames which raises percived
459+
# latency.
460+
frames_per_second_for_ui=75,
457461
frames_per_second_for_step=defaults.fps,
458462
video_width=defaults.width,
459463
video_height=defaults.height,

apps/interactive_drive/interactive_drive/tests/test_application.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from interactive_drive.input.keyboard import command_from_snapshot
3030
from interactive_drive.types import ControlSnapshot
3131

32-
from flashdreams.runtime_v2.session_desc import PresentationMode
32+
from flashdreams.runtime_v2.session_desc import BackpressureMode, PresentationMode
3333
from flashdreams.runtime_v2.user_input_event import (
3434
GamepadUserInputEvent,
3535
KeyboardInputState,
@@ -299,6 +299,16 @@ def test_interactive_drive_no_ui_skips_ui_and_bev(tmp_path: Path) -> None:
299299
assert session._registered_ui_loop is None
300300

301301

302+
def test_interactive_drive_drops_stale_chunks_for_low_latency(tmp_path: Path) -> None:
303+
scene = tmp_path / "local.usdz"
304+
scene.touch()
305+
app = InteractiveDriveApplication()
306+
307+
app.init(["--scene", str(scene)])
308+
309+
assert app.session_desc().backpressure_mode is BackpressureMode.DROP_OLDEST
310+
311+
302312
def test_interactive_drive_resolves_default_scene_when_omitted(
303313
tmp_path: Path,
304314
monkeypatch: pytest.MonkeyPatch,

integrations_v2/omnidreams/config.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from typing import cast
99

1010
import torch
11-
1211
from omnidreams.impl.pipeline import OmnidreamsPipelineConfig
1312
from omnidreams.impl.transformer import CosmosTransformerConfig
1413
from omnidreams.impl.transformer.network import CosmosDiTNetworkConfig

integrations_v2/omnidreams/tests/test_omnidreams_native_vae.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,13 @@ def ensure(path: Path) -> Path:
189189

190190
monkeypatch.setattr(exporter, "ensure_lightvae_fp8_state", ensure)
191191
config = OMNIDREAMS_FAST_PERF_PIPELINE_CONFIG
192+
image_encoder = config.image_encoder
193+
encoder = config.encoder
194+
assert isinstance(image_encoder, OmnidreamsWanVAEEncoderConfig)
195+
assert isinstance(encoder, OmnidreamsWanVAEEncoderConfig)
192196

193-
assert _native_vae_fp8_state_path(config.image_encoder) == str(expected)
194-
assert _native_vae_fp8_state_path(config.encoder) == str(expected)
197+
assert _native_vae_fp8_state_path(image_encoder) == str(expected)
198+
assert _native_vae_fp8_state_path(encoder) == str(expected)
195199
assert calls == [
196200
Path(DEFAULT_LIGHTVAE_FP8_STATE_PATH),
197201
Path(DEFAULT_LIGHTVAE_FP8_STATE_PATH),

integrations_v2/omnidreams/tests/test_recipe_configs.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
OMNIDREAMS_PERF_PIPELINE_CONFIG,
3030
OMNIDREAMS_PIPELINE_CONFIG,
3131
)
32+
from omnidreams.impl.transformer import CosmosTransformerConfig
33+
from omnidreams.impl.vae_native import OmnidreamsWanVAEEncoderConfig
3234

3335
from flashdreams.api_v2.application import IApplication
3436

@@ -46,16 +48,22 @@ def test_pipeline_configs_are_keyed_by_name() -> None:
4648

4749
def test_fast_perf_uses_native_vae_when_available() -> None:
4850
config = OMNIDREAMS_FAST_PERF_PIPELINE_CONFIG
49-
50-
assert config.image_encoder.native_vae_acceleration == "required"
51-
assert config.image_encoder.native_vae_backend == "fp8"
52-
assert config.image_encoder.native_vae_fp8_state_path is None
53-
assert config.image_encoder.native_vae_fp8_auto_export is True
54-
assert config.encoder.native_vae_acceleration == "required"
55-
assert config.encoder.native_vae_backend == "fp8"
56-
assert config.encoder.native_vae_fp8_state_path is None
57-
assert config.encoder.native_vae_fp8_auto_export is True
58-
assert config.diffusion_model.transformer.native_dit_acceleration == "required"
51+
image_encoder = config.image_encoder
52+
encoder = config.encoder
53+
transformer = config.diffusion_model.transformer
54+
assert isinstance(image_encoder, OmnidreamsWanVAEEncoderConfig)
55+
assert isinstance(encoder, OmnidreamsWanVAEEncoderConfig)
56+
assert isinstance(transformer, CosmosTransformerConfig)
57+
58+
assert image_encoder.native_vae_acceleration == "required"
59+
assert image_encoder.native_vae_backend == "fp8"
60+
assert image_encoder.native_vae_fp8_state_path is None
61+
assert image_encoder.native_vae_fp8_auto_export is True
62+
assert encoder.native_vae_acceleration == "required"
63+
assert encoder.native_vae_backend == "fp8"
64+
assert encoder.native_vae_fp8_state_path is None
65+
assert encoder.native_vae_fp8_auto_export is True
66+
assert transformer.native_dit_acceleration == "required"
5967

6068

6169
def test_application_defaults_are_owned_by_each_adapter() -> None:

0 commit comments

Comments
 (0)