First, don't allocate 8 GB. That is absolute overkill and might in fact cause some of your issues. Put it on 2 GB, that's the upper limit of what's sensible for a client.
Second, make sure Minecraft actually runs on your dedicated GPU, and not on the integrated Intel one. Minecraft isn't a DirectX game and so sometimes doesn't get detected by switchable graphics solutions. In the Nvidia control center you can force java.exe and javaw.exe to always prefer your dedicated GPU. Unfortunately I'm on a desktop so I don't see the options to describe them for you, you'll have to ask Google. Should be easy to find though, as it's a common laptop issue.
Third, monitor your CPU utilization with the task manager (rightclick on the taskbar -> task manager). You should see no more than 25%-35% CPU load assigned to java during gameplay, likely less. This is because you have 8 logical threads on your 4-core CPU and one of them at 100% while the others idle at 0% will result in an average fo 12.5% load. Minecraft uses one main thread for the world simulation plus assorted minor tidbits in others, and java itself will be using a few low-load threads to run and tidy up after itself. Your bottleneck is largely the clock speed of the single core that Minecraft runs its main thread on, because that's a lot of work that can't be split up, and laptops generally don't run at very high clocks to save on power and cooling needs.
Also in the task manager, you can see if a different application gobbles up CPU time while you attempt to play, thereby slowing down your system. Common culprits are antivirus software and other assorted bloatware that laptop vendors preinstall onto your system as advertisements. If you run into another process gobbling CPU time, google what it is and if it's a program you clearly don't need, see if you can uninstall it.
No. Just... no. Don't set NewSize by hand for Minecraft. Ever.
What you meant is MaxPermSize, and that is only necessary to set if Minecraft crashes out with a lack of permgen space error.
If you want to get into custom JVM arguments, Eyamaz has a great thread up in the support section, but he's currently developing a new set of arguments that isn't ready yet.