Skip to content

PCB Bitmaps Performance Regression (Caching)

Bitmap caching was re-enabled by me for PCB Bitmaps. It had been disabled long ago due to bugs, but we hoped that other bug fixes in the years since had fixed it.

@charrasjp found some memory leaks with the code and disabled it again in c0661468 He found no performance issues with it disabled.

Unfortunately, the caching is important to the large bitmaps often used for PCB bitmaps. Left is cached, right is uncached:

2022-09-12_09-31-26

I'm creating this issue to remind myself or any graphics wizards passing by to try and fix this before 7.0.

KiCad Version

Application: KiCad PCB Editor

Version: (6.99.0-3371-g01e0615303), debug build

Libraries:
	wxWidgets 3.0.5
	FreeType 2.11.1
	HarfBuzz 2.7.4
	FontConfig 2.13.1

Platform: Linux 5.15.0-41-lowlatency x86_64, 64 bit, Little endian, wxGTK, KDE, x11

	wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
	Boost: 1.74.0
	OCC: 7.5.2
	Curl: 7.81.0
	ngspice: 30
	Compiler: GCC 11.2.0 with C++ ABI 1016

Build settings:
	KICAD_SPICE=ON
	KICAD_STDLIB_DEBUG=OFF
	KICAD_STDLIB_LIGHT_DEBUG=OFF
	KICAD_SANITIZE_ADDRESS=OFF
	KICAD_SANITIZE_THREADS=OFF