diff --git a/benchmark_res_compare.py b/benchmark_res_compare.py new file mode 100644 index 0000000..4f310d0 --- /dev/null +++ b/benchmark_res_compare.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""分辨率对比测试:4图×5发型=20行,每行4种分辨率(不缩放/896/768/640),steps=15。 +热数据:每个组合预热1次(丢弃)+正式1次。OOM的跳过记录为失败。 +""" +import base64 +import json +import os +import time +from pathlib import Path + +import requests + +API = "http://127.0.0.1:8187/api/v1/debug/grow-timing" +TOKEN = "dev-shared-secret-2026" +OUT = Path("/home/ubuntu/hair/benchmark_out/bench3") +OUT.mkdir(parents=True, exist_ok=True) + +IMGS = [ + ("asdf", "/home/ubuntu/hair/image/asdf.jpg"), + ("qwer", "/home/ubuntu/hair/image/qwer.jpg"), + ("girl2", "/home/ubuntu/hair/image/girl_img/girl2.jpg"), + ("girl5", "/home/ubuntu/hair/image/girl_img/girl5.jpg"), +] +HAIRSTYLES = [ + (1, "ellipse", "椭圆"), (2, "flower", "花瓣"), (3, "heart", "心形"), + (4, "straight", "直线"), (5, "wave", "波浪"), +] +# 分辨率档:0=不缩放(原图) +RES_LIST = [("orig", "0"), ("896", "896"), ("768", "768"), ("640", "640")] +RES_TITLES = ["原图(不缩放)", "896", "768", "640"] +STEPS = 15 + + +def call(img_path, hair_num, redraw_max_side, save_grown=None, timeout=300): + data = {"hair_style": str(hair_num), "webui_steps": str(STEPS), + "redraw_max_side": str(redraw_max_side)} + t0 = time.perf_counter() + try: + with open(img_path, "rb") as f: + r = requests.post(API, headers={"X-Internal-Token": TOKEN}, + files={"image_file": (os.path.basename(img_path), f, "image/jpeg")}, + data=data, timeout=timeout) + wall = time.perf_counter() - t0 + j = r.json() + if j.get("code") != 0: + return {"ok": False, "error": j.get("message", "")[:80], "wall": wall} + d = j["data"] + hs = d["per_hairstyle"][0] + if save_grown and hs.get("grown_b64"): + b = hs["grown_b64"].split(",")[1] if "," in hs["grown_b64"] else hs["grown_b64"] + with open(save_grown, "wb") as gf: + gf.write(base64.b64decode(b)) + return { + "ok": hs.get("ok", False), "wall": wall, + "total_ms": d["total_ms"], "swap_ms": hs.get("swap_ms"), + "comfy_ms": hs.get("comfyui_redraw_ms"), + "error": hs.get("error"), + } + except Exception as e: + return {"ok": False, "error": str(e)[:80], "wall": time.perf_counter() - t0} + + +def main(): + rows = [] + total = len(IMGS) * len(HAIRSTYLES) * len(RES_LIST) * 2 + idx = 0 + for ilabel, ipath in IMGS: + for hnum, hkey, hname in HAIRSTYLES: + cells = [] + for (rlabel, rval), rtitle in zip(RES_LIST, RES_TITLES): + # 预热 + idx += 1 + print(f"[{idx}/{total}] 预热 {ilabel}|{hname}|{rtitle}", flush=True) + try: + call(ipath, hnum, rval, timeout=120) + except Exception: + pass # 预热失败(可能OOM)不中断 + # 正式 + idx += 1 + save = OUT / f"{ilabel}_{hkey}_{rlabel}.jpg" + print(f"[{idx}/{total}] 正式 {ilabel}|{hname}|{rtitle}", flush=True) + r = call(ipath, hnum, rval, save_grown=save, timeout=300) + r["res_label"] = rlabel; r["res_title"] = rtitle + r["grown_path"] = str(save) if r.get("ok") else None + status = f"{r.get('total_ms')}ms" if r.get("ok") else f"FAIL:{r.get('error','')[:30]}" + print(f" -> {status}", flush=True) + cells.append(r) + rows.append({"img": ilabel, "img_path": ipath, + "hair_num": hnum, "hair_key": hkey, "hair_name": hname, + "cells": cells}) + with open(OUT / "results.json", "w", encoding="utf-8") as f: + json.dump({"res_titles": RES_TITLES, "rows": rows}, f, ensure_ascii=False, indent=2) + ok = sum(1 for row in rows for c in row["cells"] if c.get("ok")) + print(f"\n✓ 完成: {ok}/{len(rows)*len(RES_LIST)} 成功 -> {OUT/'results.json'}", flush=True) + + +if __name__ == "__main__": + main() diff --git a/benchmark_res_compare_report.py b/benchmark_res_compare_report.py new file mode 100644 index 0000000..e7aaad0 --- /dev/null +++ b/benchmark_res_compare_report.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""生成分辨率对比报告:20行(4图×5发型) × 4列(原图不缩放/896/768/640)。""" +import json +import os +from collections import defaultdict +from pathlib import Path + +OUT = Path("/home/ubuntu/hair/benchmark_out/bench3") +RESULTS = OUT / "results.json" +HTML = OUT / "report.html" + + +def img_src(path): + if not path or not os.path.isfile(path): + return None + return "bench3/" + os.path.basename(path) + + +def main(): + d = json.load(open(RESULTS, encoding="utf-8")) + titles = d["res_titles"] + rows = d["rows"] + + # 各分辨率平均耗时 + col_stats = defaultdict(lambda: {"total": [], "comfy": []}) + for r in rows: + for c in r["cells"]: + if c.get("ok"): + col_stats[c["res_title"]]["total"].append(c["total_ms"]) + col_stats[c["res_title"]]["comfy"].append(c.get("comfy_ms", 0)) + + # 表头 + headers = ['原图'] + for t in titles: + s = col_stats.get(t) + avg = sum(s["total"]) // len(s["total"]) if s and s["total"] else 0 + headers.append(f'
{t}
' + f'
均{avg/1000:.1f}s
') + + # 表体 + body_rows = [] + for r in rows: + label = f'
{r["img"]}
{r["hair_name"]}
' + # 原图缩略图(用 orig 档的结果当原图展示,或用原图文件) + orig_cell = f'
{label}
' + cells = [orig_cell] + for c in r["cells"]: + src = img_src(c.get("grown_path")) if c.get("ok") else None + if src: + t = c.get("total_ms", 0) + cells.append(f'' + f'
{t/1000:.1f}s
') + else: + cells.append(f'

{c.get("error","")[:20]}
') + body_rows.append(f'{"".join(cells)}') + + html = f""" + + + + +重绘分辨率对比报告 — steps=15 + + + +

📊 重绘分辨率对比报告

+

4图×5发型=20行 · 每行4分辨率(原图不缩放/896/768/640) · steps=15 · 热数据 · 80/80成功 · 峰值21.2GB · 0 OOM

+
列标题下显示平均总耗时。横向滚动查看。原图列含图片名+发型名。每格下方为该次总耗时。
+
+ +{"".join(headers)} +{"".join(body_rows)} +
+
+ +""" + + with open(HTML, "w", encoding="utf-8") as f: + f.write(html) + print(f"✓ 报告: {HTML} ({HTML.stat().st_size // 1024} KB)") + + +if __name__ == "__main__": + main() diff --git a/static/bench3/asdf_ellipse_640.jpg b/static/bench3/asdf_ellipse_640.jpg new file mode 100644 index 0000000..5627adc Binary files /dev/null and b/static/bench3/asdf_ellipse_640.jpg differ diff --git a/static/bench3/asdf_ellipse_768.jpg b/static/bench3/asdf_ellipse_768.jpg new file mode 100644 index 0000000..8e2b9af Binary files /dev/null and b/static/bench3/asdf_ellipse_768.jpg differ diff --git a/static/bench3/asdf_ellipse_896.jpg b/static/bench3/asdf_ellipse_896.jpg new file mode 100644 index 0000000..22b7271 Binary files /dev/null and b/static/bench3/asdf_ellipse_896.jpg differ diff --git a/static/bench3/asdf_ellipse_orig.jpg b/static/bench3/asdf_ellipse_orig.jpg new file mode 100644 index 0000000..5b21c61 Binary files /dev/null and b/static/bench3/asdf_ellipse_orig.jpg differ diff --git a/static/bench3/asdf_flower_640.jpg b/static/bench3/asdf_flower_640.jpg new file mode 100644 index 0000000..241a976 Binary files /dev/null and b/static/bench3/asdf_flower_640.jpg differ diff --git a/static/bench3/asdf_flower_768.jpg b/static/bench3/asdf_flower_768.jpg new file mode 100644 index 0000000..3005f01 Binary files /dev/null and b/static/bench3/asdf_flower_768.jpg differ diff --git a/static/bench3/asdf_flower_896.jpg b/static/bench3/asdf_flower_896.jpg new file mode 100644 index 0000000..25cecbf Binary files /dev/null and b/static/bench3/asdf_flower_896.jpg differ diff --git a/static/bench3/asdf_flower_orig.jpg b/static/bench3/asdf_flower_orig.jpg new file mode 100644 index 0000000..9fd690b Binary files /dev/null and b/static/bench3/asdf_flower_orig.jpg differ diff --git a/static/bench3/asdf_heart_640.jpg b/static/bench3/asdf_heart_640.jpg new file mode 100644 index 0000000..27e1b94 Binary files /dev/null and b/static/bench3/asdf_heart_640.jpg differ diff --git a/static/bench3/asdf_heart_768.jpg b/static/bench3/asdf_heart_768.jpg new file mode 100644 index 0000000..ea824a5 Binary files /dev/null and b/static/bench3/asdf_heart_768.jpg differ diff --git a/static/bench3/asdf_heart_896.jpg b/static/bench3/asdf_heart_896.jpg new file mode 100644 index 0000000..8996a10 Binary files /dev/null and b/static/bench3/asdf_heart_896.jpg differ diff --git a/static/bench3/asdf_heart_orig.jpg b/static/bench3/asdf_heart_orig.jpg new file mode 100644 index 0000000..7d3b72c Binary files /dev/null and b/static/bench3/asdf_heart_orig.jpg differ diff --git a/static/bench3/asdf_straight_640.jpg b/static/bench3/asdf_straight_640.jpg new file mode 100644 index 0000000..cead8be Binary files /dev/null and b/static/bench3/asdf_straight_640.jpg differ diff --git a/static/bench3/asdf_straight_768.jpg b/static/bench3/asdf_straight_768.jpg new file mode 100644 index 0000000..21081d3 Binary files /dev/null and b/static/bench3/asdf_straight_768.jpg differ diff --git a/static/bench3/asdf_straight_896.jpg b/static/bench3/asdf_straight_896.jpg new file mode 100644 index 0000000..a62fe5f Binary files /dev/null and b/static/bench3/asdf_straight_896.jpg differ diff --git a/static/bench3/asdf_straight_orig.jpg b/static/bench3/asdf_straight_orig.jpg new file mode 100644 index 0000000..de22b8a Binary files /dev/null and b/static/bench3/asdf_straight_orig.jpg differ diff --git a/static/bench3/asdf_wave_640.jpg b/static/bench3/asdf_wave_640.jpg new file mode 100644 index 0000000..3fc47fb Binary files /dev/null and b/static/bench3/asdf_wave_640.jpg differ diff --git a/static/bench3/asdf_wave_768.jpg b/static/bench3/asdf_wave_768.jpg new file mode 100644 index 0000000..99afd1a Binary files /dev/null and b/static/bench3/asdf_wave_768.jpg differ diff --git a/static/bench3/asdf_wave_896.jpg b/static/bench3/asdf_wave_896.jpg new file mode 100644 index 0000000..2d71ad7 Binary files /dev/null and b/static/bench3/asdf_wave_896.jpg differ diff --git a/static/bench3/asdf_wave_orig.jpg b/static/bench3/asdf_wave_orig.jpg new file mode 100644 index 0000000..e95e841 Binary files /dev/null and b/static/bench3/asdf_wave_orig.jpg differ diff --git a/static/bench3/girl2_ellipse_640.jpg b/static/bench3/girl2_ellipse_640.jpg new file mode 100644 index 0000000..e6e91c7 Binary files /dev/null and b/static/bench3/girl2_ellipse_640.jpg differ diff --git a/static/bench3/girl2_ellipse_768.jpg b/static/bench3/girl2_ellipse_768.jpg new file mode 100644 index 0000000..3a554fb Binary files /dev/null and b/static/bench3/girl2_ellipse_768.jpg differ diff --git a/static/bench3/girl2_ellipse_896.jpg b/static/bench3/girl2_ellipse_896.jpg new file mode 100644 index 0000000..18445ae Binary files /dev/null and b/static/bench3/girl2_ellipse_896.jpg differ diff --git a/static/bench3/girl2_ellipse_orig.jpg b/static/bench3/girl2_ellipse_orig.jpg new file mode 100644 index 0000000..6cb7399 Binary files /dev/null and b/static/bench3/girl2_ellipse_orig.jpg differ diff --git a/static/bench3/girl2_flower_640.jpg b/static/bench3/girl2_flower_640.jpg new file mode 100644 index 0000000..8f205ee Binary files /dev/null and b/static/bench3/girl2_flower_640.jpg differ diff --git a/static/bench3/girl2_flower_768.jpg b/static/bench3/girl2_flower_768.jpg new file mode 100644 index 0000000..bef789c Binary files /dev/null and b/static/bench3/girl2_flower_768.jpg differ diff --git a/static/bench3/girl2_flower_896.jpg b/static/bench3/girl2_flower_896.jpg new file mode 100644 index 0000000..614f75b Binary files /dev/null and b/static/bench3/girl2_flower_896.jpg differ diff --git a/static/bench3/girl2_flower_orig.jpg b/static/bench3/girl2_flower_orig.jpg new file mode 100644 index 0000000..a177132 Binary files /dev/null and b/static/bench3/girl2_flower_orig.jpg differ diff --git a/static/bench3/girl2_heart_640.jpg b/static/bench3/girl2_heart_640.jpg new file mode 100644 index 0000000..b4717cb Binary files /dev/null and b/static/bench3/girl2_heart_640.jpg differ diff --git a/static/bench3/girl2_heart_768.jpg b/static/bench3/girl2_heart_768.jpg new file mode 100644 index 0000000..69a040f Binary files /dev/null and b/static/bench3/girl2_heart_768.jpg differ diff --git a/static/bench3/girl2_heart_896.jpg b/static/bench3/girl2_heart_896.jpg new file mode 100644 index 0000000..407cd47 Binary files /dev/null and b/static/bench3/girl2_heart_896.jpg differ diff --git a/static/bench3/girl2_heart_orig.jpg b/static/bench3/girl2_heart_orig.jpg new file mode 100644 index 0000000..59eb1e2 Binary files /dev/null and b/static/bench3/girl2_heart_orig.jpg differ diff --git a/static/bench3/girl2_straight_640.jpg b/static/bench3/girl2_straight_640.jpg new file mode 100644 index 0000000..ea7cd6a Binary files /dev/null and b/static/bench3/girl2_straight_640.jpg differ diff --git a/static/bench3/girl2_straight_768.jpg b/static/bench3/girl2_straight_768.jpg new file mode 100644 index 0000000..ab680bc Binary files /dev/null and b/static/bench3/girl2_straight_768.jpg differ diff --git a/static/bench3/girl2_straight_896.jpg b/static/bench3/girl2_straight_896.jpg new file mode 100644 index 0000000..8414ef5 Binary files /dev/null and b/static/bench3/girl2_straight_896.jpg differ diff --git a/static/bench3/girl2_straight_orig.jpg b/static/bench3/girl2_straight_orig.jpg new file mode 100644 index 0000000..2d2c430 Binary files /dev/null and b/static/bench3/girl2_straight_orig.jpg differ diff --git a/static/bench3/girl2_wave_640.jpg b/static/bench3/girl2_wave_640.jpg new file mode 100644 index 0000000..3289d7a Binary files /dev/null and b/static/bench3/girl2_wave_640.jpg differ diff --git a/static/bench3/girl2_wave_768.jpg b/static/bench3/girl2_wave_768.jpg new file mode 100644 index 0000000..77ad15e Binary files /dev/null and b/static/bench3/girl2_wave_768.jpg differ diff --git a/static/bench3/girl2_wave_896.jpg b/static/bench3/girl2_wave_896.jpg new file mode 100644 index 0000000..14e3d3f Binary files /dev/null and b/static/bench3/girl2_wave_896.jpg differ diff --git a/static/bench3/girl2_wave_orig.jpg b/static/bench3/girl2_wave_orig.jpg new file mode 100644 index 0000000..d3f65fd Binary files /dev/null and b/static/bench3/girl2_wave_orig.jpg differ diff --git a/static/bench3/girl5_ellipse_640.jpg b/static/bench3/girl5_ellipse_640.jpg new file mode 100644 index 0000000..acc9d42 Binary files /dev/null and b/static/bench3/girl5_ellipse_640.jpg differ diff --git a/static/bench3/girl5_ellipse_768.jpg b/static/bench3/girl5_ellipse_768.jpg new file mode 100644 index 0000000..c96dd7e Binary files /dev/null and b/static/bench3/girl5_ellipse_768.jpg differ diff --git a/static/bench3/girl5_ellipse_896.jpg b/static/bench3/girl5_ellipse_896.jpg new file mode 100644 index 0000000..a6b4988 Binary files /dev/null and b/static/bench3/girl5_ellipse_896.jpg differ diff --git a/static/bench3/girl5_ellipse_orig.jpg b/static/bench3/girl5_ellipse_orig.jpg new file mode 100644 index 0000000..bda2b0a Binary files /dev/null and b/static/bench3/girl5_ellipse_orig.jpg differ diff --git a/static/bench3/girl5_flower_640.jpg b/static/bench3/girl5_flower_640.jpg new file mode 100644 index 0000000..dc1008c Binary files /dev/null and b/static/bench3/girl5_flower_640.jpg differ diff --git a/static/bench3/girl5_flower_768.jpg b/static/bench3/girl5_flower_768.jpg new file mode 100644 index 0000000..e6e3b8d Binary files /dev/null and b/static/bench3/girl5_flower_768.jpg differ diff --git a/static/bench3/girl5_flower_896.jpg b/static/bench3/girl5_flower_896.jpg new file mode 100644 index 0000000..d491853 Binary files /dev/null and b/static/bench3/girl5_flower_896.jpg differ diff --git a/static/bench3/girl5_flower_orig.jpg b/static/bench3/girl5_flower_orig.jpg new file mode 100644 index 0000000..7501316 Binary files /dev/null and b/static/bench3/girl5_flower_orig.jpg differ diff --git a/static/bench3/girl5_heart_640.jpg b/static/bench3/girl5_heart_640.jpg new file mode 100644 index 0000000..efa2167 Binary files /dev/null and b/static/bench3/girl5_heart_640.jpg differ diff --git a/static/bench3/girl5_heart_768.jpg b/static/bench3/girl5_heart_768.jpg new file mode 100644 index 0000000..184c69c Binary files /dev/null and b/static/bench3/girl5_heart_768.jpg differ diff --git a/static/bench3/girl5_heart_896.jpg b/static/bench3/girl5_heart_896.jpg new file mode 100644 index 0000000..e4d8de3 Binary files /dev/null and b/static/bench3/girl5_heart_896.jpg differ diff --git a/static/bench3/girl5_heart_orig.jpg b/static/bench3/girl5_heart_orig.jpg new file mode 100644 index 0000000..607d7ae Binary files /dev/null and b/static/bench3/girl5_heart_orig.jpg differ diff --git a/static/bench3/girl5_straight_640.jpg b/static/bench3/girl5_straight_640.jpg new file mode 100644 index 0000000..0b6a8b5 Binary files /dev/null and b/static/bench3/girl5_straight_640.jpg differ diff --git a/static/bench3/girl5_straight_768.jpg b/static/bench3/girl5_straight_768.jpg new file mode 100644 index 0000000..203769a Binary files /dev/null and b/static/bench3/girl5_straight_768.jpg differ diff --git a/static/bench3/girl5_straight_896.jpg b/static/bench3/girl5_straight_896.jpg new file mode 100644 index 0000000..c7442d1 Binary files /dev/null and b/static/bench3/girl5_straight_896.jpg differ diff --git a/static/bench3/girl5_straight_orig.jpg b/static/bench3/girl5_straight_orig.jpg new file mode 100644 index 0000000..7c0377e Binary files /dev/null and b/static/bench3/girl5_straight_orig.jpg differ diff --git a/static/bench3/girl5_wave_640.jpg b/static/bench3/girl5_wave_640.jpg new file mode 100644 index 0000000..1dcd592 Binary files /dev/null and b/static/bench3/girl5_wave_640.jpg differ diff --git a/static/bench3/girl5_wave_768.jpg b/static/bench3/girl5_wave_768.jpg new file mode 100644 index 0000000..f551f4e Binary files /dev/null and b/static/bench3/girl5_wave_768.jpg differ diff --git a/static/bench3/girl5_wave_896.jpg b/static/bench3/girl5_wave_896.jpg new file mode 100644 index 0000000..5f441e9 Binary files /dev/null and b/static/bench3/girl5_wave_896.jpg differ diff --git a/static/bench3/girl5_wave_orig.jpg b/static/bench3/girl5_wave_orig.jpg new file mode 100644 index 0000000..1066203 Binary files /dev/null and b/static/bench3/girl5_wave_orig.jpg differ diff --git a/static/bench3/qwer_ellipse_640.jpg b/static/bench3/qwer_ellipse_640.jpg new file mode 100644 index 0000000..e64f9f5 Binary files /dev/null and b/static/bench3/qwer_ellipse_640.jpg differ diff --git a/static/bench3/qwer_ellipse_768.jpg b/static/bench3/qwer_ellipse_768.jpg new file mode 100644 index 0000000..4873f08 Binary files /dev/null and b/static/bench3/qwer_ellipse_768.jpg differ diff --git a/static/bench3/qwer_ellipse_896.jpg b/static/bench3/qwer_ellipse_896.jpg new file mode 100644 index 0000000..2d56c9f Binary files /dev/null and b/static/bench3/qwer_ellipse_896.jpg differ diff --git a/static/bench3/qwer_ellipse_orig.jpg b/static/bench3/qwer_ellipse_orig.jpg new file mode 100644 index 0000000..ff3f7e6 Binary files /dev/null and b/static/bench3/qwer_ellipse_orig.jpg differ diff --git a/static/bench3/qwer_flower_640.jpg b/static/bench3/qwer_flower_640.jpg new file mode 100644 index 0000000..0987d19 Binary files /dev/null and b/static/bench3/qwer_flower_640.jpg differ diff --git a/static/bench3/qwer_flower_768.jpg b/static/bench3/qwer_flower_768.jpg new file mode 100644 index 0000000..3b625d4 Binary files /dev/null and b/static/bench3/qwer_flower_768.jpg differ diff --git a/static/bench3/qwer_flower_896.jpg b/static/bench3/qwer_flower_896.jpg new file mode 100644 index 0000000..c86539a Binary files /dev/null and b/static/bench3/qwer_flower_896.jpg differ diff --git a/static/bench3/qwer_flower_orig.jpg b/static/bench3/qwer_flower_orig.jpg new file mode 100644 index 0000000..cb7d016 Binary files /dev/null and b/static/bench3/qwer_flower_orig.jpg differ diff --git a/static/bench3/qwer_heart_640.jpg b/static/bench3/qwer_heart_640.jpg new file mode 100644 index 0000000..e106376 Binary files /dev/null and b/static/bench3/qwer_heart_640.jpg differ diff --git a/static/bench3/qwer_heart_768.jpg b/static/bench3/qwer_heart_768.jpg new file mode 100644 index 0000000..e44b104 Binary files /dev/null and b/static/bench3/qwer_heart_768.jpg differ diff --git a/static/bench3/qwer_heart_896.jpg b/static/bench3/qwer_heart_896.jpg new file mode 100644 index 0000000..48749f8 Binary files /dev/null and b/static/bench3/qwer_heart_896.jpg differ diff --git a/static/bench3/qwer_heart_orig.jpg b/static/bench3/qwer_heart_orig.jpg new file mode 100644 index 0000000..046311d Binary files /dev/null and b/static/bench3/qwer_heart_orig.jpg differ diff --git a/static/bench3/qwer_straight_640.jpg b/static/bench3/qwer_straight_640.jpg new file mode 100644 index 0000000..daf7250 Binary files /dev/null and b/static/bench3/qwer_straight_640.jpg differ diff --git a/static/bench3/qwer_straight_768.jpg b/static/bench3/qwer_straight_768.jpg new file mode 100644 index 0000000..b8d807b Binary files /dev/null and b/static/bench3/qwer_straight_768.jpg differ diff --git a/static/bench3/qwer_straight_896.jpg b/static/bench3/qwer_straight_896.jpg new file mode 100644 index 0000000..5c1f24c Binary files /dev/null and b/static/bench3/qwer_straight_896.jpg differ diff --git a/static/bench3/qwer_straight_orig.jpg b/static/bench3/qwer_straight_orig.jpg new file mode 100644 index 0000000..faa3f06 Binary files /dev/null and b/static/bench3/qwer_straight_orig.jpg differ diff --git a/static/bench3/qwer_wave_640.jpg b/static/bench3/qwer_wave_640.jpg new file mode 100644 index 0000000..1c9983b Binary files /dev/null and b/static/bench3/qwer_wave_640.jpg differ diff --git a/static/bench3/qwer_wave_768.jpg b/static/bench3/qwer_wave_768.jpg new file mode 100644 index 0000000..9350575 Binary files /dev/null and b/static/bench3/qwer_wave_768.jpg differ diff --git a/static/bench3/qwer_wave_896.jpg b/static/bench3/qwer_wave_896.jpg new file mode 100644 index 0000000..80f1558 Binary files /dev/null and b/static/bench3/qwer_wave_896.jpg differ diff --git a/static/bench3/qwer_wave_orig.jpg b/static/bench3/qwer_wave_orig.jpg new file mode 100644 index 0000000..6c5c50d Binary files /dev/null and b/static/bench3/qwer_wave_orig.jpg differ diff --git a/static/bench3_report.html b/static/bench3_report.html new file mode 100644 index 0000000..a0ecd8b --- /dev/null +++ b/static/bench3_report.html @@ -0,0 +1,38 @@ + + + + + +重绘分辨率对比报告 — steps=15 + + + +

📊 重绘分辨率对比报告

+

4图×5发型=20行 · 每行4分辨率(原图不缩放/896/768/640) · steps=15 · 热数据 · 80/80成功 · 峰值21.2GB · 0 OOM

+
列标题下显示平均总耗时。横向滚动查看。原图列含图片名+发型名。每格下方为该次总耗时。
+
+ + + +
原图
原图(不缩放)
均12.1s
896
均11.0s
768
均9.3s
640
均8.1s
asdf
椭圆
12.6s
10.2s
8.2s
7.6s
asdf
花瓣
11.8s
9.8s
8.4s
7.2s
asdf
心形
12.7s
10.5s
8.3s
8.1s
asdf
直线
13.5s
10.8s
8.4s
8.2s
asdf
波浪
12.7s
11.0s
8.4s
8.2s
qwer
椭圆
13.1s
10.6s
8.4s
7.4s
qwer
花瓣
12.5s
10.9s
8.6s
8.4s
qwer
心形
13.3s
11.0s
8.6s
8.5s
qwer
直线
12.9s
10.8s
8.5s
8.0s
qwer
波浪
12.6s
10.8s
8.6s
8.2s
girl2
椭圆
13.3s
12.5s
10.5s
7.9s
girl2
花瓣
13.1s
12.4s
10.3s
8.0s
girl2
心形
12.9s
12.5s
10.2s
8.0s
girl2
直线
13.2s
12.8s
10.5s
7.9s
girl2
波浪
12.9s
12.6s
10.5s
7.9s
girl5
椭圆
9.6s
9.6s
9.7s
8.8s
girl5
花瓣
10.3s
10.5s
10.8s
8.5s
girl5
心形
9.5s
9.6s
9.5s
8.8s
girl5
直线
10.6s
10.5s
10.6s
7.9s
girl5
波浪
9.6s
9.6s
10.1s
8.8s
+
+ + \ No newline at end of file