Turn off shadowplay and make a file name 'user.cfg' in your Battlefield 1 folder to add the following:
gametime.maxvariablefps 60
RenderDevice.RenderAheadLimit 1
Using 60 to limit the FPS but ideally you want this matching your refresh rate. If you're using a higher frequency display (i.e. 144hz) see if you get stable results at 60, then increase. The RenderDevice.RenderAheadLimit is actually 0 by default, experiment with values 1, 2 and 3. You can also also change these values in nVidia/AMD control panel if you prefer, there's a discussion on this here.
Also try disabling superfetch, use ccleaner, and or advanced systemcare to optimize your system for games.
https://www.piriform.com/ccleaner/download...