SANTA CLARA, Calif. - After he led the Texans to a 24-13 victory over San Francisco in the preseason opener, quarterback Tom Savage stood stone-faced in a corner of the dressing room. He was so low key you could have gotten a better pulse in a morgue.

But knowing the kind of fierce competitor Savage is and how disappointed he was last year when he was placed on injured reserve, it was easy to understand the kind of exhilaration he was feeling no matter how hard he tried to mask it.

Beginning his third preseason in a system designed by coach Bill O'Brien and offensive coordinator George Godsey, Savage played with confidence. He appeared to be comfortable in the pocket and at the line of scrimmage.

By the time Savage replaced starter Brock Osweiler early in the second quarter, the Texans were behind 13-7. The offense didn't change until the third quarter when Savage provided a jump-start and led them to three scoring drives in the second half.

Playing with reserves, Savage completed 14-of-24 for 168 yards and two touchdown passes to tight end Stephen Anderson (7 yards) and running back Akeem Hunt (9). He finished with a 107.6 rating.

"It's been a long time since I was out there," Savage said, surrounded by reporters. "It felt good to finally get out there and throw it around."

Savage, 26, doesn't just "throw it around." He guns it. His right arm is a dangerous weapon, a howitzer. He showed it several times, including an impressive 20-yard completion to receiver Jaelen Strong.

Strong ran an out route and couldn't have been covered better. The defender was all over him. Savage threw the ball before Strong made his break. He put it where it would be caught or incomplete. It was a perfect pass and an outstanding catch by Strong.

"The receivers did a good job of getting open and coming down with it," Savage said. "After looking at film, we'll have things to improve on."

Savage took snaps Sunday night for the first time since the last preseason game of the 2015 season. In that game against Dallas, he suffered a shoulder injury that didn't require surgery. He was placed on injured reserve because the coaches didn't want an injured third quarterback to take up a roster spot for the first half of the season.

Savage didn't like the decision, but rather than complain publicly or pout privately, he attacked his rehabilitation and used the season as another learning experience. He was with his offensive teammates every day preparing with offensive assistant Pat O'Hara as if he was going to start each game.

"I never want to waste any time," he said. "I wanted to take all those days and just keep preparing for this moment.

"Like I said, it's preseason No. 1. I've got a lot to work on, and I want to keep getting consistently better."

Yes, it was the first preseason game, as Savage pointed out. Statistics can be misleading, of course.

In the preseason-opening victory over San Francisco last year, quarterback Ryan Mallett was 10-of-11 for 90 yards.

In 2014, O'Brien's first season, Ryan Fitzpatrick was 6-of-14 for 50 yards and two interceptions in a preseason-opening loss at Arizona. His rating was 14.6.

Still, there's no denying Savage was impressive. He took charge in the huddle and at the line of scrimmage. He stood in the pocket under pressure. He was able to slide and avoid the rush even though he was sacked twice for 17 yards.

Savage has come a long way since being drafted in the fourth round in 2014. It's obvious to everyone who watches him that Savage has made remarkable improvement despite getting so little playing time.

"Tom made play after play when we needed him," Osweiler said. "He comes into the building every day and works extremely hard.

"He's a great teammate. To see him have success, throw a couple of touchdown passes, I couldn't be happier for him."