feat(调试): 测试页新增重绘分辨率选项

- app.py 调试接口新增 redraw_max_side 参数,控制整条管线的降分辨率
- debug_grow_timing.html 新增"重绘分辨率"下拉(640/768/896/1024/原图)
- 实测: 640比896省1.5s(5.2s vs 6.7s), 1024比896慢0.6s
This commit is contained in:
xsl
2026-07-26 17:01:27 +08:00
parent e4d03a782d
commit 62d2660e41
2 changed files with 15 additions and 1 deletions
+2 -1
View File
@@ -828,6 +828,7 @@ async def debug_grow_timing(
image_base64: Optional[str] = Form(default=None), image_base64: Optional[str] = Form(default=None),
hair_style: str = Form(default="2", description="发型序号(花瓣=2),逗号分隔多选"), hair_style: str = Form(default="2", description="发型序号(花瓣=2),逗号分隔多选"),
webui_steps: Optional[int] = Form(default=None, description="swapHair webui img2img 采样步数,None=服务端默认(15),可填10/15/20/25对比"), webui_steps: Optional[int] = Form(default=None, description="swapHair webui img2img 采样步数,None=服务端默认(15),可填10/15/20/25对比"),
redraw_max_side: Optional[int] = Form(default=None, description="ComfyUI重绘分辨率(长边像素)。None=默认8960=原图不缩;其他如640/768/1024"),
): ):
"""单图跑接口2女性生发,返回每个步骤的耗时 + 结果图,用于定位性能瓶颈。 """单图跑接口2女性生发,返回每个步骤的耗时 + 结果图,用于定位性能瓶颈。
@@ -870,7 +871,7 @@ async def debug_grow_timing(
hair_mask_reuse = (ctx["parse_map"] == SEGFORMER_HAIR) hair_mask_reuse = (ctx["parse_map"] == SEGFORMER_HAIR)
h, w = image.shape[:2] h, w = image.shape[:2]
eff_side = _REDRAW_MAX_SIDE eff_side = _REDRAW_MAX_SIDE if redraw_max_side is None else redraw_max_side
redraw_img, hair_mask_redraw = image, hair_mask_reuse redraw_img, hair_mask_redraw = image, hair_mask_reuse
downscale_info = None downscale_info = None
if eff_side > 0 and max(h, w) > eff_side: if eff_side > 0 and max(h, w) > eff_side:
+13
View File
@@ -91,6 +91,17 @@
<option value="30">30</option> <option value="30">30</option>
</select> </select>
</div> </div>
<div class="form-group">
<label>重绘分辨率</label>
<select id="redrawMaxSide">
<option value="">默认(896)</option>
<option value="640">640 (最快)</option>
<option value="768">768</option>
<option value="896">896</option>
<option value="1024">1024 (高画质)</option>
<option value="0">原图(不缩)</option>
</select>
</div>
<button class="btn btn-primary" id="submitBtn" onclick="submitTest()">🚀 开始分析</button> <button class="btn btn-primary" id="submitBtn" onclick="submitTest()">🚀 开始分析</button>
</div> </div>
<div id="statusBar" class="status hidden"></div> <div id="statusBar" class="status hidden"></div>
@@ -128,6 +139,8 @@ async function submitTest(){
fd.append('hair_style', $('hairStyle').value); fd.append('hair_style', $('hairStyle').value);
const _steps = $('webuiSteps').value; const _steps = $('webuiSteps').value;
if(_steps !== '') fd.append('webui_steps', _steps); if(_steps !== '') fd.append('webui_steps', _steps);
const _side = $('redrawMaxSide').value;
if(_side !== '') fd.append('redraw_max_side', _side);
try{ try{
const r = await fetch(API_BASE+'/api/v1/debug/grow-timing',{ const r = await fetch(API_BASE+'/api/v1/debug/grow-timing',{