Nodes/ComfyUI-DepthAnythingV3/DA3_EnableTiledProcessing
ComfyUI Node

DA3_EnableTiledProcessing

Tiled depth for huge images in Depth Anything 3

By PozzettiAndrea·Created 9 months ago·Updated 2 months ago· 434
DA3_EnableTiledProcessing
  • da3_model
  • da3_model
tile_size512
overlap64

This is a modifier node: it takes a loaded Depth Anything 3 model and hands back the same model, but flagged to process big images in tiles instead of all at once. You drop it between the loader and the depth node. If you're running 4K frames or huge stills and hitting out-of-memory, or you want sharper fine detail than the model gives at its native input size, this is the switch.

The pattern: a pass-through that flips a mode

Notice the shape of it - the input is a da3_model and the output is a da3_model. It doesn't produce depth. It configures the model and passes it along. So your graph goes: DownloadAndLoadDepthAnythingV3ModelDA3_EnableTiledProcessingDepthAnything_V3. Everything downstream behaves identically; it just runs tiled under the hood. This is a clean way to bolt on a capability without a pile of extra parameters on the main node.

Why tile at all

Depth models run at a fixed internal resolution. Push a very large image through and one of two things happens: you run out of VRAM, or the image gets downscaled to fit and you lose fine detail - thin branches, hair, distant structure all get mushy. Tiling fixes both. The image is split into overlapping tiles, each tile is processed at full model resolution, and the results are blended back together. You trade time for the ability to handle images bigger than your VRAM would otherwise allow, and you keep local detail because each tile sees a smaller region at higher effective resolution.

The two knobs

  • tile_size (default 512) - the size of each tile the image gets cut into. Smaller tiles use less VRAM per tile and preserve more local detail, but there are more of them so it's slower. Bigger tiles are faster but heavier. 512 is a reasonable middle; drop it if you're still OOM-ing, raise it if you have headroom and want speed.
  • overlap (default 64) - how much neighboring tiles share so they can be blended without a visible seam. Too little overlap and you get grid lines where tiles meet; more overlap means cleaner blends at the cost of extra work. If you see faint tile boundaries in your depth map, raise this.

Both step in increments of 14, which lines up with the model's patch size - don't fight it, just pick values near the defaults.

When to actually use it

Reach for it when: your input is genuinely large (multi-megapixel), you're getting OOM on the depth node, or you're doing 3D reconstruction where fine geometric detail matters and you don't want the model downscaling your image. For normal-resolution ControlNet preprocessing it's unnecessary - the model handles typical SD/SDXL-size images fine, and tiling just adds time. Don't tile by reflex; tile when the image is big or the detail matters.

Common issues

Visible grid seams in the depth output mean your overlap is too low for the content - raise it. Still running out of memory even with tiling on? Lower tile_size (fewer pixels per tile is the real VRAM lever) and, if you're on Giant or Nested, consider dropping to Large. And the obvious one: this node does nothing on its own. If you wired it but see no change, make sure the depth node is consuming the da3_model that comes out of this node, not the one straight from the loader - it's easy to leave the old link connected and wonder why nothing tiled.

CategoryDepthAnythingV3

Inputs (3)

NameTypeDefaultDescription
da3_modelDA3MODEL
tile_sizeINT512256–2048
overlapINT640–256

Outputs (1)

NameTypeDescription
da3_modelDA3MODEL