Former Manchester City, AC Milan and Liverpool striker Balotelli seemed set to join Ligue 1 rivals Marseille in the summer but a move failed to materialise and he ended up staying at Nice.
Vieira acknowledged the Italy international returned to pre-season training out of shape and he says the 28-year-old needs to shift more weight if he is to feature week in-week out.
"He came back slightly overweight, but you can see that, he's aware of that," Vieira told RMC. "He came back with a few extra kilos, but we're trying to understand why he came back like that.
"In his head, he saw himself leaving, he saw himself elsewhere. Mario is who he is. He decided to stay with us and there was work to do. Compared to the others, he was very late and he's currently making up that lost time."
Balotelli has made three starts for Nice so far this season, without scoring, after netting 33 in 77 appearances since joining the Ligue 1 side in summer 2016.
"You saw in the first half against Marseille that he's getting better and better, but not enough to last 90 minutes."
He added: "Mario will always be Mario. He has improved, because he is committed to the project and is conscious of the ground he has to make up. What is really stopping him are those extra few kilos. To lose them, he has to string together training sessions. Then to be good, he has to play matches, and it's going to be long."