Page MenuHome

Enormous RAM consumption and crash during UV Layout export in high resolution.
Closed, InvalidPublic

Description

System Information
Operating system: Windows 10 64bit
Graphics card: GTX 1060
RAM: 32 GB

Blender Version
Broken: 2.80, 2.81
Worked: 2.79

Short description of error
I'am using UV maps of very high resolutions - 12000x12000 px. It is key point in projects I develop. In B2.79 it was not a problem. In 2.80 and 2.81 during export UV layout to png RAM consumption going higher, and higher until "eat" whole RAM - then Blender crash or in rare occasion report problem: Memory Error.
In 2.79 all works ok. I have 32 GB RAM in computer I normally work, but even on machine with 8GB I was able to get 12K UV Map with no issues. In 2.79 used RAM is much smaller and never reach even half of available RAM.
First I thought, that it depend on how dense and complexed is UV but it also happen with simple cube.

Exact steps for others to reproduce the error

  • Open Blender
  • Go to UV Editing
  • Select default cube
  • Enter edit mode
  • Unwrap cube
  • Export UV Layout in 12000x12000 px
  • Wait for crash.

Event Timeline

Marek Rys (mrys) renamed this task from Enormal RAM consumption and crash during UV Layout export in high resolution. to Enormous RAM consumption and crash during UV Layout export in high resolution..Sep 13 2019, 12:38 PM
Jacques Lucke (JacquesLucke) changed the task status from Unknown Status to Invalid.Sep 19 2019, 4:33 PM
Jacques Lucke (JacquesLucke) claimed this task.

I'm only guessing, but the issue is probably this line in export_uv_png.py: image.pixels = [v / 255 for v in pixel_data]. It is a recurring issue that the pixel access via python is slow. Unfortunately, no solution to this is implemented so far.
Can you try to export as .svg instead? Then maybe use another program to rasterize it.

Since this is a well known issue with image.pixels, and otherwise this is just a memory issue, I do not consider this to be a bug. Therefore I'm closing it.

Svg is good for small detailed UV but for dense wire is a bit nightmare. Not sure why it is not classified as bug, if all worked well in Blender 2.79 and not working in Blender 2.8x? In this point Blender 2.80 is bit useless for me :(