optimized makeCurrent flow