I'm a sway user using a Maxwell Nvidia in an optimus config with an intel skylake (around your vintage, technically a generation older, we're both supported by current drivers). There's a single line patch needed for using nvidia with wlroots that upstream does not want to merge, if you don't have it screens will flicker:
https://aur.archlinux.org/cgit/aur.git/tree/nvidia.patch?h=w...Other than that for the first time in like a decade of dealing with Optimus bullshit laptops off and on everything finally works plug and play, even running different refresh rate screens at the same time. Nvidia finally shipped support for controlling gamma in wayland on Halloween so I can use gammastep to shift my screens red at night.
In short: Have that patch for wlroots (which sway uses), use newest proprietary driver, block/uninstall nouveau, and make sure the system isn't loading CPU rendering due to a misconfiguration (firefox you can check about:support, chromium/electron-based shit check chrome://gpu)
EDIT: oh and since chromium/electron will inevitably temporarily break graphics at some point due to an update... --disable-gpu is your friend to get those apps working (with CPU rendering). Obviously drop it out once those problems subside, it's happened maybe twice to me in the past few months running Gentoo unstable. Firefox seems more resilient and will find a way to run in less ideal circumstances on wayland.