V45: tang FILL 24->48 (cushion 256ms) chong stall OS ~200ms (PDC 14080)
This commit is contained in:
@@ -29,10 +29,10 @@ class SfFxRealtimeProcessor extends AudioWorkletProcessor {
|
||||
super();
|
||||
this.BLOCK = 256; // FXRT_BLOCK
|
||||
this.BURST = 4; // số block gom 1 frame (bridge batch)
|
||||
this.FILL = 24; // V44: 24 block ~128ms @48k: buffer khởi đầu — hấp thụ jitter main-thread + stall deschedule bridge 68-138ms. PDC 7936 = (7+24)*256 (fxRtApplyPdc). V43 16 -> cushion ~9 (q 3-9) chua du: stall 68-82ms van gay underrun. V44 len 24 -> cushion ~17 (~90ms).
|
||||
this.FILL = 48; // V45: 48 block ~256ms @48k: hấp thụ stall OS-level ~200ms (V44 21:17:37.9: engine pump 198ms + main 196ms cùng lúc → u=2 underrun → lag 20-30s). PDC 14080 = (7+48)*256 (fxRtApplyPdc). V44 24 -> cushion 128ms < stall 196ms -> underrun. V45 48 -> cushion 256ms (margin ~60ms).
|
||||
this.RESUME_FILL = 24; // V26: re-buffer khi resume SAU STOP (flush_for_stop) — 16 block ~85ms (V43: = FILL) → play kế tiếp bắt đầu nhanh; underrun-stall vẫn dùng FILL (crackle/wobble).
|
||||
this.resumeFill = this.FILL; // mức re-buffer khi resume sau flush — stop: RESUME_FILL, underrun-stall: FILL
|
||||
this.CAP = 32; // V40: cap queue chặn overflow (~170ms)
|
||||
this.CAP = 56; // V45: = FILL+8: cap queue chặn overflow (~300ms)
|
||||
this.HOLD_FADE = 4; // 4 block ~21ms: fade 1→0 sau HOLD hết (hết click cắt cứng)
|
||||
this.holdFadeLeft = 0; // mẫu còn lại của fade-out khi underrun
|
||||
this.silenced = false; // đã fade về 0 → im lặng; resume phải fade-in, không hold lại
|
||||
|
||||
Reference in New Issue
Block a user