﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
4670	Replace OpenGL rendering with Vulkan or other modern 3D graphics library	Tom Goddard	Tom Goddard	"Might consider switching from OpenGL to Vulkan graphics.

On macOS we get reports of graphics driver crashes multiple times per week.  I just experienced such a crash using ChimeraX only 3 minutes on small data while changing a map threshold. #4669.

Vulkan is much lower level making the application responsible for all memory allocation on CPU and GPU, memory transfers, command synchronization.  It would be much much harder to implement our graphics.  But it would probably be more reliable since it would use Apple's proprietary Metal graphics through the MoltenVK Vulkan shim layer.

Apple deprecated OpenGL in 2018.

I think Vulkan is way too low level for ChimeraX.  It would take possibly years of programming effort to make it work well.  Vulkan was intended for game engines like Unity, not higher level end-user applications like ChimeraX.  So it seems wrong to use Vulkan.  One argument in favor of Vulkan is that scientific data can be very large and ChimeraX must limit graphics memory use to work reliably and OpenGL gives no API to even know how much video memory is available.  Also the OpenGL ""out of memory"" error almost never happens, instead a crash results, same even on Windows where the driver is more stable.

Maybe if an Apple OpenGL layer implemented on top of Metal became available that would improve reliability of ChimeraX on macOS.
"	enhancement	assigned	moderate		Graphics				chimerax-programmers				all	ChimeraX
