Palace's best chance came through Eberechi Eze, who found himself in a one-on-one after receiving a pinpoint pass from Wilfried Zaha but scuffed his effort was saved by Arsenal keeper Aaron Ramsdale.
Crystal Palace's Odsonne Edouard also had a header from close range saved by Aaron Ramsdale when the striker should really have scored.
"Today I think the biggest difference is we didn't take that chance or those chances we created to at least get a point tonight," Vieira said.
"We had some really good momentum at times but the story of the game is that we didn't score that goal to get back into the game. That is what the frustration is about today."
"I don't know if 2-0 is well deserved for Arsenal, both teams didn't really create a lot of chances."
"The two goals we conceded were poor. And then for us, when we had that good moments, the momentum, we created two really good chances to get back into the game and we didn't take them, and that was the frustration today.
"We knew how good this team were, we watched them play in pre-season and they play with a lot of confidence and quality in the team. You need to defend well as a team and we did it, especially better in the second half.
"At the same time, those chances we didn't take cost us the game - in a really important time in the game. The one from Eze in the second half, we expect him to put it in the back of the back of the net, because we were all over them. If you score that, with the fans behind, the game will be different."