Flash-Next visual compare @16k: Spark vs AMD vs AMD+4080
Three fixed prompts (game/arch/space), max_tokens 16k. Mean wall: Spark 247s, AMD 410s, AMD+4080 442s. Once the model fits, 4080 spill adds capacity—not speed.
Bottom line. Same Flash-Next, same three prompts, seed=441, max_tokens=16000 on Spark / EVO AMD-only / EVO AMD+4080. Speed: Spark ≫ AMD ≈ AMD+4080. Visually, though, most outputs are weak or wrong — auto hit_ratio/closed_html only mean “keywords/tags present,” not a correct scene or a working game.
Pack: visual compare pack v1. Smoke prompts: game-01 · arch-01 · space-02. Playwright render_ok was 0/3 on every box (closed HTML still failed the gate).
Totals
| Spark | EVO AMD | EVO AMD+4080 | |
|---|---|---|---|
| mean wall | 247s | 410s | 442s |
| decode | ~37 tok/s | ~26.5 | ~25.3 |
| mean hit_ratio | 0.89 | 0.94 | 0.89 |
| closed_html | 3/3 | 3/3 | 3/3 |
| render_ok | 0/3 | 0/3 | 0/3 |
Human look · quality limits
- Some pages are blank or nearly empty — matches
render_ok0/3 everywhere. - game-*: prompts asked for a cinematic screenshot, not a playable game. Outputs have no
keydown/WASD — orbit loop only. “Games don’t work” is expected under that spec. - space-02: required a hangar with parked craft + orange engineers + crates + blue robot + planet beyond the door. Titles say Hangar, but meshes often read as rocket/fighter silhouettes. String checks pass on the word
spacecraft. - arch-01 is the least broken, still not photoreal architecture.
Valid takeaway this run: box speed/capacity, not “Flash-Next makes good 3D.” v2 needs playable-vs-still split, negative locks (no rocket launch / dogfight), and vision/human scoring by default.
Is AMD+4080 only VRAM?
For this workload, yes — capacity, not speed. Flash-Next ROCmFP4 already fits on AMD alone (-dev Vulkan0 -c 32768). Layer spill onto the 4080 (-sm layer -ts 56,8) adds PCIe/split overhead. Measured: AMD 410s vs AMD+4080 442s (~8% slower).
- Worth it when: weights/KV do not fit on AMD, or you need a large
-cso long HTML is not truncated (earlier quality×cost needed 32k after 4096 cuts). - Not worth it when: model+context already fit — AMD-only matches or beats spill on wall and checklist.
- Quality: AMD alone edged hit_ratio (arch-01 0.83 vs 0.67). Spill does not make scenes “nicer.”
Setup
| Spark | EVO AMD | EVO AMD+4080 | |
|---|---|---|---|
| serve | SGLang NVFP4 :30000 | llama.cpp Vulkan0 | llama.cpp Vulkan1,0 -ts 56,8 |
| weights | Flash-Next NVFP4 | ROCmFP4-FAST ple16 | same GGUF |
| params | temp 0.4 · thinking off · seed 441 · max_tokens 16000 | ||
Wall by prompt
| prompt | Spark | AMD | AMD+4080 |
|---|---|---|---|
| game-01 | 284s · 36.5 t/s · 10.4k tok | 426s · 26.5 · 11.3k | 522s · 25.2 · 13.1k |
| arch-01 | 162s · 38.1 · 6.2k | 314s · 26.6 · 8.4k | 356s · 25.4 · 9.0k |
| space-02 | 294s · 38.0 · 11.2k | 490s · 26.4 · 12.9k | 448s · 25.3 · 11.3k |
Result HTML
How to read
- Spark wins wall and tok/s (~1.6–1.8× vs Vulkan GGUF).
- 4080 spill = capacity. Prefer AMD-only when it fits; turn spill on for larger models / longer context.
- render_ok=0 means the Playwright gate failed, not that there is no scene.
- Full 12×4 matrix still pending — Flash-Next smoke only.
Source: results/visual-compare/t16k-{spark,evo-amd,evo4080}-flash/ · 2026-09-04.