Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
In one browser-based test, converting a compact Real-ESRGAN x4v3 model from FP32 to FP16 cut a 24-frame, 720p video-upscaling task from 31.4 seconds to 6.6 seconds. The same team’s LaMa inpainting test went the other way: masked-region PSNR fell from 21.1 dB to 11.9 dB after FP16 conversion, and a watermark remained visible. The lesson is not that half precision is a universal win or failure; it is that speed and quality need to be measured for each model, workload, and browser backend.
What the browser test actually found
Umasou reported the results in a first-party engineering post on DEV Community, displayed as published October 4, 2026. The figures below are that team’s measurements, not independently reproduced benchmarks. The browser stack used ONNX Runtime Web with WebGPU for super-resolution and watermark removal.
| Test | Reported result | What it represents |
|---|---|---|
| Real-ESRGAN x4v3, single tile | 403 ms at FP32; 113 ms at FP16, reported as 3.5× faster | One WebGPU inference tile in the team’s setup |
| Real-ESRGAN x4v3, video task | 31.4 seconds at FP32; 6.6 seconds at FP16, reported as 4.8× faster | Page-level processing of 24 frames at 720p |
| Upscaler output similarity | More than 57 dB PSNR between FP16 and FP32 outputs | The team’s comparison for this tested x4v3 model |
| Model file size | 4.9 MB at FP32; 2.4 MB at FP16 | The converted model files in the reported setup |
| LaMa inpainting | 21.1 dB before conversion; 11.9 dB after FP16 conversion | Masked-region PSNR in the team’s test; the watermark remained visible |
These figures describe different outcomes and should not be collapsed into one claim that FP16 alone made the whole application 4.8 times faster. The video comparison is specifically the team’s FP32-to-FP16 comparison after it had already selected a different, smaller Real-ESRGAN architecture.
Why model choice came before precision
Before converting precision, the team replaced Real-ESRGAN x4plus, based on RRDBNet, with realesr-general-x4v3, identified as SRVGGNetCompact. In the author’s comparison, the compact model was far smaller and faster to run on CPU. The team also reported that it won a small three-case PSNR comparison. Those results describe that team’s limited tests, not a general finding that x4v3 is more accurate for all images.
#1 Best Overall
- ✔️ AI Upscaling up to 8K: Enlarge small, low-resolution, or old photos with crisp details, clean edges, and fewer artifacts — perfect for prints, social media, blogs, and online galleries.
- ✔️ Fix blurry or noisy photos: AI restores clarity by enhancing textures, sharpening faces, hair, and fine details while reducing noise and JPEG compression errors.
- ✔️ Ideal for family photos, scans & mobile images: Improve pictures from smartphones, tablets, digital cameras, scanners, and old archives with professional-quality results.
- ✔️ Fast & easy 1-click enhancement: Batch-process multiple photos at once and improve image quality instantly — no editing experience required.
- ✔️ Reliable results & broad file support: Works with JPG, PNG, TIFF and more — stable AI processing even on old, compressed or damaged photos.
| Comparison reported by Umasou | RRDBNet x4plus | SRVGGNetCompact x4v3 |
|---|---|---|
| Graph nodes | 1,187 | 71 |
| Model file size | 67 MB | 4.9 MB |
| CPU speed comparison | The author reported x4v3 as 14–27× faster in the tested comparison; hardware and test conditions were not specified in the cited account. | |
| PSNR across three cases | The author reported x4v3 ahead by 0.1–1.5 dB across those three cases. | |
| Per-frame processing time after architecture change | The author reported a change from about 75 seconds to about 7 seconds; the cited account does not specify the frame’s dimensions or hardware in this comparison. | |
The architecture switch and the later precision conversion are separate optimization steps. A smaller network can reduce work before any precision change; FP16 can then change arithmetic and model storage costs for a particular supported backend. The 4.8× video result belongs to the latter comparison on the already-selected compact model.
Why FP16 helped this upscaler
FP16 represents floating-point values with fewer bits than FP32. That can reduce model storage and the amount of data moved through a compatible GPU path, but it also reduces numerical precision. The team’s reported file-size reduction from 4.9 MB to 2.4 MB is consistent with a smaller representation for the tested model; it does not establish that every model or browser workload will get the same speed or size benefit.
Umasou’s profiling interpretation was that the browser workload was constrained more by memory bandwidth than by arithmetic throughput. In the team’s experiments, using worker pools changed a video task from 393 seconds to 396 seconds, while measured tensor-transfer overhead was 1–2% of total runtime. These are observations from its profiling setup, not evidence that browser inference is always memory-bound or that workers never help. They do illustrate why changing the precision and data movement can matter more than adding parallel workers in one implementation.
Free tools Windows power users keep installed
One-click scans. No signup required.
The implementation retained an FP32 tensor interface at the JavaScript boundary using keep_io_types, with an FP32 fallback path. That is a deployment detail, not a guarantee that an FP16 model can run on every browser or device: the execution provider and hardware still need to support the operations used by the model.
Why LaMa lost quality
The same team reported a substantial regression when it converted its LaMa inpainting model to FP16: masked-region PSNR dropped from 21.1 dB to 11.9 dB, and a watermark remained visible. Umasou attributed the failure to mask-gated behavior: the model needs to distinguish pixels that should be preserved from regions it should regenerate. A precision reduction that is tolerable in one network can disrupt that distinction in another.
The post also reports that tested INT8 variants regressed on a dark-text case, with PSNR falling from 24.5 dB to 15.6 dB. This is another result from the author’s test, not proof that all INT8 approaches fail for inpainting. Together, the cases show why precision should be treated as a model-specific quality decision rather than an across-the-board optimization.
Rank #3
- Simple shift planning via an easy drag & drop interface
- Add time-off, sick leave, break entries and holidays
- Email schedules directly to your employees
PSNR is useful for comparing outputs against a reference, but it cannot by itself establish that an image looks acceptable or that an inpainting result preserves the details a user cares about. The team’s LaMa output could look plausible while scoring poorly, and the Real-ESRGAN paper itself discusses visual artifacts and difficulty with some out-of-distribution degradations. Inspect representative images as well as numerical metrics.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →How to evaluate FP16 for your own model
- Choose the deployment model first. Compare candidate architectures on the images and tasks your product actually handles. Record quality and runtime before changing precision; otherwise, you cannot separate architecture gains from precision gains.
- Establish a reproducible FP32 baseline. Fix the input set, output dimensions, browser, device, runtime, and execution provider. Measure both model inference and the complete user-facing task, since page-level work can include steps beyond a single tile.
- Convert one model and one path at a time. Keep a working FP32 version available. If the JavaScript boundary expects FP32 tensors, verify that the converted model’s input and output types match the implementation, including any use of
keep_io_types. - Compare quality on difficult examples. Include representative images and known failure cases, not just easy samples. For inpainting, examine mask boundaries, preserved pixels, fine text, and dark regions; for upscaling, inspect edges, repeated patterns, and textures. Use PSNR where a reference is available, but do not treat it as a visual-quality verdict.
- Measure the actual target browser and device. Record the browser and version, operating system, GPU/backend, runtime version, and whether the result came from WebGPU or a CPU/WASM fallback. Test the full application workload as well as inference in isolation.
- Keep a fallback and define a quality gate. Route unsupported devices to a tested FP32 path, and reject an FP16 model if it fails the quality bar for the images or task—even if its speed or file size improves.
Browser and runtime support are part of the result
ONNX Runtime Web supports browser inference through different execution providers, including WebAssembly CPU inference and GPU paths. Its official compatibility documentation describes differences by browser and operating system, and the availability of WebGPU and float16 support is not uniform. The documented compatibility matrix is subject to change, so check the current ONNX Runtime Web compatibility page for the exact browser, platform, and feature you plan to deploy. A benchmark from one WebGPU-capable setup should not be presented as a result for all browsers.
Backend matters beyond browser inference. The Real-ESRGAN project FAQ says its own inference uses half precision by default to save GPU memory and speed inference, but also notes that half-precision operators may be unavailable in CPU mode; it recommends --fp32 for that error. That project guidance concerns its inference implementation and does not validate the browser benchmark above. It does reinforce the practical point: choose precision together with the execution backend.
Rank #4
- Full-featured professional audio and music editor that lets you record and edit music, voice and other audio recordings
- Add effects like echo, amplification, noise reduction, normalize, equalizer, envelope, reverb, echo, reverse and more
- Supports all popular audio formats including, wav, mp3, vox, gsm, wma, real audio, au, aif, flac, ogg and more
- Sound editing functions include cut, copy, paste, delete, insert, silence, auto-trim and more
- Integrated VST plugin support gives professionals access to thousands of additional tools and effects
What this case study does—and does not—show
Umasou’s results make a strong case for testing FP16 when a compact super-resolution model runs through a supported browser GPU path: in that implementation, both the single-tile and 24-frame task improved, and the reported FP16/FP32 outputs were close by PSNR. The same team’s LaMa test shows the risk of assuming that result transfers to another model. Neither outcome establishes a universal speedup or quality rule.
Real-ESRGAN’s research paper also cautions that restoration can produce artifacts, twisted lines, or poor results on complicated degradations unlike those represented in training. Regardless of precision, judge restoration on the intended images and use case rather than assuming a higher benchmark score or faster run guarantees a better result.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

