AiInferPool
同模型推理池:同一模型的 1..8 个 AiSession + 有界任务队列。每张图仍走 InferImage(单图)。不是第二套推理核。实现 IDisposable。
突发 100 张 = 队列,不是 100 份权重。MaxWorkers 硬顶 8。GPU yolov8n 建议 1–2;8GB+ 可试 2–4。Core 不探测「显存还能塞几个」。
类结构
AiInferPool // 同模型推理池(IDisposable)
│
├── Open // 已激活:不收激活码
├── Activate // 出厂 / 试用:要一次激活码
├── TryOpen(...) → bool // 不抛「需要激活码」
├── OpenPlain // 打开明文模型池
├── OpenWithKey // 旧双文件 .darmkey;新 DARB1 不要用
├── Submit(...) → ulong // 提交一张图,返回 ticket
├── SubmitAsync(...) → Task<string> // Submit + Wait
├── Wait(ticket) → string // 等结果 JSON
├── TryWait(ticket) → string // 非阻塞;没好抛 AiBusyException
└── Dispose() // 拒新任务、等在飞 Infer、关全部会话
InferPoolOptions
├── MaxWorkers → int // 0=1;合法 1..8
├── QueueCapacity → int // 0=64;合法 1..4096
├── Overflow → InferOverflow // Fail / Block / DropOldest
├── Worker → SessionOptions? // 每 worker 会话选项;池强制 Unique
└── Weight → int // 0=100;抢同一 GPU 的并发槽
GpuScheduler // 静态
└── SetGpuSlots(gpuDevice, slots) // 同一 GPU 同时 InferImage 上限