ComfyUI Node

Near-sighted Tile

HyperTile-style detail with exactly three dials

By MitoshiroPJ·Created 3 years ago·Updated about a year ago· 7
Near-sighted Tile
  • model
  • MODEL
tiling_max_depth2
global_ratio0.5
tile_size32

The purest node in the pack. Near-sighted Tile does the tiling half of Near-sighted Attention with none of the slothful style knobs attached - three inputs, one job, and that job is "make the model look at local detail more closely." If you remember HyperTile from the 2024 high-res workflow era, this is a smarter cousin: instead of just splitting the query into tiles, it also hands each tile a downsampled view of the whole image so nothing drifts too far from global context. The author measures +49.2% on UNet speed at 1024×1024 (−11.3% at 512), so like the rest of the pack, it pays for itself at big resolutions.

How it works

In a normal self-attention layer, every pixel's query attends to every pixel's keys and values - quadratic cost, and at high resolution the model spreads its attention too thin to nail small details. Tiling changes the geometry: the spatial map is split into tiles, and each tile's query only attends to its own local keys and values. That's the "near-sighted" part, and it's the same trick HyperTile popularized.

The difference from plain HyperTile is what happens to the global view. Instead of dropping it entirely, the node concatenates a coarse, downsampled version of the whole image into K and V, and global_ratio decides how much of it survives. High global_ratio = more global context = the image stays coherent. Low global_ratio = the tiles go more local = more fine detail, but the composition can fall apart. Tiles also get a deterministic per-step jitter so seams don't line up and turn into visible grid artifacts.

Tiling only applies below tiling_max_depth (default 2) - the shallow, high-resolution blocks are left alone, which is where the speed win comes from without wrecking overall structure.

The three dials

  • tile_size (32) - tile size in latent space, not pixels. 64 ≈ 512×512 px on SD1.5's shallowest layer. Smaller tiles sharpen local detail but break consistency faster.
  • global_ratio (0.5) - the local-vs-global balance. If the image starts looking like separate patches stitched together, raise this.
  • tiling_max_depth (2) - how deep into the U-Net the tiling applies. Leave it at 2 unless you know what you're doing; pushing it to 3 tiles deeper into low-res blocks where it does less good.

That's the whole node. Output is a MODEL that wires into your KSampler just like any loader output.

Install

Shared pack story, worth repeating because it trips people up: ComfyUI Manager only lists the pack under "ComfyUI Nearsighted Attention" - the project was renamed after the original "Slothful Attention" release, and the old comfyui_slothful_attention repo 404s. So either search Manager for "Nearsighted," or:

cd ComfyUI/custom_nodes
git clone https://github.com/MitoshiroPJ/comfyui_nearsighted_attention

Restart and the node shows up as "Near-sighted Tile." No pip packages, no model downloads - just torch and einops, both already in ComfyUI. Author-tested on SD1.5, SDXL and SSD-1B, and it coexists fine with LoRA, LCM-LoRA, ControlNet and IP-Adapter.

Troubleshooting

  • Tile seams / patchwork look. global_ratio too low. Raise it before touching tile size.
  • Image falls apart entirely at small tile sizes - that's the consistency cost of tiling, not a bug. Back the tile size up.
  • No speedup under ~1024. Like the rest of the pack, at 512×512 you mostly pay overhead.
  • Hypernetwork and token merging (ToMe) can conflict - they patch attention too, and the README warns against combining them.
CategorySlothfulAttention

Inputs (4)

NameTypeDefaultDescription
modelMODEL
tiling_max_depthINT21–3
global_ratioFLOAT0.50–1
tile_sizeINT3216–64

Outputs (1)

NameTypeDescription
MODELMODEL