You have a dual core, so what you should go for depends on the games you play. For one thing, I think a 2gb 460 would be a better pick, unless you can get the 4gb version for very close to the same price(like within $10). This is because games and/or settings that would need a 4gb card would also likely need a faster card than the 460 and also a quad core or dual core CPU with hyperthreading. For this reason I don't think a 1050 Ti is a great idea.
There is an exception though. Some games only need a dual core CPU, however those games can use all the videocard power you can spare. If you play those types of games a lot then a 1050 Ti might be worth the extra cost.