Response speed and acceleration

Qwen-Image 2.1 speed on RTX 5090 and Mac

One person reports six seconds; another waits three minutes. Both may be valid Qwen-Image 2.1 runs with different runtimes, quantization1 and resolutions. Before buying, narrow down the wait under your intended conditions instead of chasing the smallest number.

Requirements and key details
  • The 5.93s 5090 result uses dedicated LightX2V FP8 at 1K and 40 steps.
  • FP4, NF4 and GGUF Q4 are different execution formats.
  • Published Mac results include Q8 beating Q4; file size alone is not enough.

Six seconds per image comes with conditions

LightX2V reports 5.930 seconds for RTX 5090 text-to-image at 1024×1024 and 40 steps: seed 42, CFG disabled, median of three consecutive requests. It includes encoding through PNG save, but excludes initial model loading. This is the result of that setup, not a default for every 5090 application.

The path combines FP82 weights, FP163 accumulation, SM120 operators and SageAttention2, with staged encoder CPU4 offload5. A conventional Diffusers setup on the same GPU6 gives different timing. Check available runtime7 optimizations before replacing hardware solely because the default setup feels slow.

A computer, stopwatch and repeated prints on a desk
Repeat the same conditions to compare waiting times.

Which timing numbers belong together?

These are separate published runs of the same model. Mesmer's 7.40s FP4 figure is engine time, unlike LightX2V's end-to-end scope; the NF4 Diffusers run is another test. The table is not a controlled runtime ranking. It shows why a GPU name without settings is insufficient.

Downloading Q4_K_M does not produce the speed of a specialized FP4 kernel. GGUF8, NF4 and hardware-oriented FP4 differ in storage and compute paths. Check whether weights move to CPU and whether the encoder remains on GPU. The actual backend and memory use say more than a shared digit in a filename.

Published runs · text-to-image, 40 steps
Test hardwareRuntime setupOutput sizeReported time
RTX 5090LightX2V FP8 / FP16 accumulation1024×10245.930s
RTX 5090Mesmer FP4 rank 1281024×10247.40s
RTX 5090Diffusers NF41024×102419.2s
RTX 4070 Ti SUPER 16GBMesmer INT4 rank 1281024×102422.82s
M5 Max 36GBComfyUI GGUF Q8 + INT8 encoder1024×1024156s
M5 Max 36GBComfyUI GGUF Q4 + W4A8 encoder1024×1024218s

Published runs · text-to-image, 40 steps

RTX 5090

Runtime setup
LightX2V FP8 / FP16 accumulation
Output size
1024×1024
Reported time
5.930s

RTX 5090

Runtime setup
Mesmer FP4 rank 128
Output size
1024×1024
Reported time
7.40s

RTX 5090

Runtime setup
Diffusers NF4
Output size
1024×1024
Reported time
19.2s

RTX 4070 Ti SUPER 16GB

Runtime setup
Mesmer INT4 rank 128
Output size
1024×1024
Reported time
22.82s

M5 Max 36GB

Runtime setup
ComfyUI GGUF Q8 + INT8 encoder
Output size
1024×1024
Reported time
156s

M5 Max 36GB

Runtime setup
ComfyUI GGUF Q4 + W4A8 encoder
Output size
1024×1024
Reported time
218s

Why Q4 can be slower on Mac

The published M5 Max 36GB test uses ComfyUI's Metal path. At 1024, Q8 took 156s and Q4 218s. Encoders also differed—INT8 versus W4A8—so this does not isolate denoiser precision. Consider both memory savings and the runtime's cost of unpacking low-bit weights.

At 1536 the two configurations were both around eight minutes; at 2048, around eighteen minutes. The Q4 2048 result was a cold run, not a repeated warm measurement, so it is unsuitable for a precise ranking. More Mac Studio memory helps fit larger work, not accelerate computation in direct proportion to capacity.

Match the full 5090 optimization setup

LightX2V provides a 5090-specific CUDA9 image and FP8 conversion recipe. Use the fp8_f16_accum_5090 script, setting the original model directory and converted DiT10 file separately. The commands below cover conversion and launch after preparing the source and environment. Replace /path/to placeholders; they do not download the whole model.

After conversion, point dit_quantized_ckpt in the selected JSON config to the generated safetensors file and set lightx2v_path and model_path in the script. model_path must remain the original model directory. The path needs lightx2v-kernel's SM120 operator; copying it to an RTX 3090 or DGX Spark does not establish equivalent support or speed.

Convert and run from the LightX2V repository
python tools/convert/converter.py \
  --source /path/to/Qwen-Image-2.1/transformer \
  --output /path/to/Qwen-Image-2.1-fp8-f16-accum \
  --output_name qwen_image_21_fp8_f16_accum \
  --model_type qwen_image_21_dit \
  --quantization_profile qwen-image-21-fp8-f16-accum \
  --quantized --linear_type fp8 --device cuda:0 --single_file

# Set the checkpoint path in the JSON config and model paths in the script first.
bash scripts/qwen_image_21/qwen_image_21_t2i_fp8_f16_accum_5090.sh
Run after preparing the environment and editing the config; paths checked on 2026-09-23.
Small and large square prints of the same plant
Twice the edge length means four times the pixels.

Why resolution can increase the wait so sharply

Doubling the edge length is not merely doubling the wait. One Diffusers NF4 record rises from 19.2s at 1K to 118.8s at 2K; the Mac Q8 record rises from 156s to 1094s. Computation and memory behavior change together. Resolution is a central comparison condition, not a footnote.

The experience offers 1024, 1536 and 2048 with a model-specific resolution curve. High-resolution optimized 5090 times extrapolate from its 1K record using another runtime's growth pattern; they are not labeled 2K measurements. Choose candidates at 1K and inspect finalists larger to reduce waiting without new hardware.

Two GPUs and a larger Mac offer different benefits

Two GPUs can potentially run separate jobs concurrently, but that does not halve the latency of one image. Splitting a single job requires runtime support and introduces communication overhead. Our Qwen-Image 2.1 preset follows a single-GPU path, so 2×5090 does not double usable memory or halve one-image time.

A large-memory Mac can hold more models and other work, but image generation depends heavily on GPU compute and Metal implementations. An existing Mac may suit occasional images; sustained iteration gives a reason to compare optimized NVIDIA paths. The workload and iteration count should drive the recommendation.

A compact silver computer and a dark GPU PC on one desk
How many images you make, and how often, changes the hardware choice.

Compare your own run with the site estimate

Separate warmed generation from download and initial load. Fix the prompt, seed, steps and resolution and repeat at least three times. The median reduces the influence of one unusually long initialization. Record GPU, denoiser and encoder precision, offloading and runtime version for reproducibility.

The site anchors 5090 to its published optimized result, while other NVIDIA presets use broad relative estimates for a conventional NF4 path. Mac uses separate GGUF records and wider chip-family bands. Unverified GB10 timing and swap-dominated cases remain unnumbered. Compare the wait, then settle the runtime you actually intend to use before buying.

Terminology notes

  1. QuantizationRepresenting model values with fewer bits. Memory use, accuracy, or execution speed may change; the effects depend on the format and implementation.

    Back to the text
  2. FP8A family of 8-bit floating-point formats. Specific formats and support vary by hardware and software.

    Back to the text
  3. FP16A 16-bit floating-point format. It uses the same bit width as BF16 but allocates bits differently between exponent and significand.

    Back to the text
  4. CPUThe central processor that executes general-purpose program instructions. AI workloads may divide work between it and other processors such as GPUs.

    Back to the text
  5. OffloadingMoving some model data from GPU memory to system RAM or storage when capacity is limited. This adds data transfer.

    Back to the text
  6. GPUA processor designed to handle many calculations in parallel. It performs model computations during AI inference.

    Back to the text
  7. RuntimeSoftware that loads model files and runs their computations. Supported formats, hardware, and optimizations vary by runtime.

    Back to the text
  8. GGUFA file format for model data, widely used by llama.cpp-based tools. The format alone does not guarantee compatibility or speed on particular hardware.

    Back to the text
  9. CUDAA software platform for general-purpose computing on NVIDIA GPUs. Programs built for CUDA are not guaranteed to run unchanged on other GPUs.

    Back to the text
  10. DiTShort for Diffusion Transformer: a model architecture that uses a transformer to refine noisy representations across diffusion steps.

    Back to the text