add multisensor

This commit is contained in:
unknown
2025-12-30 17:35:06 +08:00
parent b4c3518ad5
commit daeb182497
5 changed files with 211 additions and 96 deletions
+11 -12
View File
@@ -1,11 +1,11 @@
"""
示例 6: 多传感器 + 异步流水线(最高性能模式)
示例 6: 多传感器并行处理
本示例结合了多进程和异步流水线的优势:
本示例演示多进程并行处理多个传感器:
- 多进程:每个传感器运行在独立进程,拥有独立 CUDA 上下文
- 异步流水线:每个进程内部使用三阶段流水线
- 每个进程独立处理:采集 → 光流 → HHD
这是性能最高的配置,适用于:
适用于:
- 多个高分辨率传感器
- 需要最大化总吞吐量
- 有充足的 CPU 核心和 GPU 显存
@@ -20,7 +20,7 @@
[采集] → [光流] → [HHD] → 队列 ──┘
资源占用估算(每个传感器):
- CPU: 约 2-3 个核心(采集、光流、HHD 各一个线程)
- CPU: 约 1-2 个核心
- GPU 显存: 约 500MB-1GB(取决于分辨率和 CUDA 算法)
"""
@@ -52,12 +52,11 @@ def main():
]
# =========================================================================
# 2. 使用 async_context 启动(推荐方式)
# 2. 使用上下文管理器启动(推荐方式)
# =========================================================================
# async_context 是一个便捷的上下文管理器:
# - 自动启用每个传感器进程内的异步流水线
# - 退出时自动清理所有资源
with orisys.MultiSensor.async_context(configs) as multi:
# 上下文管理器会自动启动所有传感器进程
# 退出时自动清理所有资源
with orisys.MultiSensor(configs) as multi:
print("\n多传感器异步模式已启动,按 'q' 退出")
# =====================================================================
@@ -104,8 +103,8 @@ def main_manual():
# 创建 MultiSensor 实例
multi = orisys.MultiSensor(configs)
# 手动启动,use_async=True 启用异步模式
multi.start(use_async=True)
# 手动启动
multi.start()
try:
while True: