Not sure if this is really what's causing it, but perhaps you aren't actually using the 960m for Minecraft. Nvidia doesn't register Minecraft as an actual video game, so you have to manually tell your computer to use the discrete GPU instead of the integrated GPU of your i5. To do this, open your system tray (the arrow near the clock) and click on the Nvidia icon. Depending on whether or not you've install GeFore Experience, it'll give you an option to open the Nvidia Control Panel or GeForce Experience. If you haven't installed GeForce Experience, it'll just open the Control Panel, which is what we're after anyway. In Nvidia Control Panel, select "Manage 3D Settings" and you can either set the preffered graphics processor to your Nvidia GPU in the global tab, or you can go to the Program Settings tab and add the Minecraft Launcher to the list and then set it to use your Nvidia GPU. I prefer to set my global settings to my GPU so it will use it for any program, regardless of whether Nvidia counts it as a game. To verify that you are using the discrete GPU, open Minecraft and hit F3 to open the debug menu, and in the upper right side of the screen, it will show you what graphics processor you are running.
As a side note, since you are on a laptop, if you experience unstable frame rates and lower than normal frame rates, ensure that your power setting is on high-performance, otherwise it could be limiting the 960m to conserve power.
Here's a technical explanation of what I think may be occurring when you try to fullscreen the game:
Rendering works off of VRAM, which stands for video RAM. Dedicated graphics cards have their own physical VRAM which is separate from system RAM. With an integrated graphics card (the ones built into any non-server Intel chip), some of the system RAM is dedicated to being used as VRAM. I'm not entirely sure if the VRAM for an integrated chip is as fast as the VRAM of a dedicated chip, but dedicated chips often have far more VRAM than integrated chips. When rendering, texture files are placed into VRAM for quick access, and it is also used to store frames before they are pushed to the screen. This places VRAM in an interesting position where adding more VRAM is essentially useless, unless you need it. You won't get any better performance from more VRAM than you need, but you will see a drastic drop in performance if you don't have enough, because the graphics card will have to use system RAM, which is far slower to access in order to store the information it needs.
So, if your system isn't utilizing the 960m and is instead using the i5's integrated chip, it's very likely that when you fullscreen the game, the frames stored in the VRAM contain too much information for the VRAM that is actually shared with system RAM. If the RAM that is used as VRAM is actually slightly faster, then it could be possible that the integrated chip has to go into system RAM to get more memory, causing it to slow down and FPS to drop.
i already changed the card before hand and i just set it to high performance and still only getting 30fps, and i thought i would add this, the gtx 960m has 4gb of vram, the intel graphics i 128mb of vram. im also (for vanilla) dedicating 2gb of ram just to minecraft, i also run other games (overwatch, watch_dogs2) on ultra/epic graphics at 60fps, also thought this would help
In full screen i get 30fps,
when minecraft is 854x480 i get 120fps +
please help
Not really a solution. but to add, I've had the same problem.
thought i would add this i have a dell inspiron 7559 (nividia gforce gtx 960m, i5, 8gb of ram)
Weird, I have a worse graphics card, and same ram but I still run it fast. Some servers can have lagspikes, ESPECIALLY hubs.
PVP Legend
Not sure if this is really what's causing it, but perhaps you aren't actually using the 960m for Minecraft. Nvidia doesn't register Minecraft as an actual video game, so you have to manually tell your computer to use the discrete GPU instead of the integrated GPU of your i5. To do this, open your system tray (the arrow near the clock) and click on the Nvidia icon. Depending on whether or not you've install GeFore Experience, it'll give you an option to open the Nvidia Control Panel or GeForce Experience. If you haven't installed GeForce Experience, it'll just open the Control Panel, which is what we're after anyway. In Nvidia Control Panel, select "Manage 3D Settings" and you can either set the preffered graphics processor to your Nvidia GPU in the global tab, or you can go to the Program Settings tab and add the Minecraft Launcher to the list and then set it to use your Nvidia GPU. I prefer to set my global settings to my GPU so it will use it for any program, regardless of whether Nvidia counts it as a game. To verify that you are using the discrete GPU, open Minecraft and hit F3 to open the debug menu, and in the upper right side of the screen, it will show you what graphics processor you are running.
As a side note, since you are on a laptop, if you experience unstable frame rates and lower than normal frame rates, ensure that your power setting is on high-performance, otherwise it could be limiting the 960m to conserve power.
Here's a technical explanation of what I think may be occurring when you try to fullscreen the game:
Rendering works off of VRAM, which stands for video RAM. Dedicated graphics cards have their own physical VRAM which is separate from system RAM. With an integrated graphics card (the ones built into any non-server Intel chip), some of the system RAM is dedicated to being used as VRAM. I'm not entirely sure if the VRAM for an integrated chip is as fast as the VRAM of a dedicated chip, but dedicated chips often have far more VRAM than integrated chips. When rendering, texture files are placed into VRAM for quick access, and it is also used to store frames before they are pushed to the screen. This places VRAM in an interesting position where adding more VRAM is essentially useless, unless you need it. You won't get any better performance from more VRAM than you need, but you will see a drastic drop in performance if you don't have enough, because the graphics card will have to use system RAM, which is far slower to access in order to store the information it needs.
So, if your system isn't utilizing the 960m and is instead using the i5's integrated chip, it's very likely that when you fullscreen the game, the frames stored in the VRAM contain too much information for the VRAM that is actually shared with system RAM. If the RAM that is used as VRAM is actually slightly faster, then it could be possible that the integrated chip has to go into system RAM to get more memory, causing it to slow down and FPS to drop.
i already changed the card before hand and i just set it to high performance and still only getting 30fps, and i thought i would add this, the gtx 960m has 4gb of vram, the intel graphics i 128mb of vram. im also (for vanilla) dedicating 2gb of ram just to minecraft, i also run other games (overwatch, watch_dogs2) on ultra/epic graphics at 60fps, also thought this would help