Sam_224 :
is it still more better than i5 6400 and 1050ti( I know fps will be more on G4600) But question was about next 3-4 years gaming and ryzen chips,i really dont want to change that pc for 3 years and want high 45+ fps on all
I'm not sure why you would buy an i5-6400. The i5-7400 is practically the same price but 10% faster. If you plan to use this computer for the next 3-4 years. Why not save up an extra $17 for a Core i5-7500? $17 to go from a 2.7Ghz i5-6400 to a 3.4Ghz i5-7500 is well worth it. $17 won't even buy you two 6 packs of good beer or will barely pay for two fast food meals.
Price comparison
http://pcpartpicker.com/products/compare/qnM323,QbGj4D,rK4NnQ/
Really, you should look at going for a Pentium G4560 or the added expense of a Core i5-7500. Everything in between is pretty bad deal. The cheaper i5 CPUs are so close in price to the i5-7500. It makes no sense not to buy the i5-7500. The higher end Pentium and Core i3 models offer too small a performance increase over the G4560 to justify the added cost.
No one can guarantee the trend in gaming requirements. Right now the trend in AAA titles has been a huge increase in CPU usage and multi-threading. If you want something to last 3-4 years. Your best bet is the i5-7500. At least the best bet before going into the hugely expensive realm of overclocking and Core i7.
As for the 720P monitor. That only helps the GPU last longer. You'll be better off with a Radeon Rx 480 4GB. On average the speed is nearly identical but it has 4GB VRAM. Plus they are cheaper. You can get most of that $17 you need to go from an i5-6400 to an i5-7500 by switching to an Rx 480 4GB.