now uses performance.now if available