It's just one largely forgettable preseason game, but Houston's Brock Osweiler hardly resembled a $72 million quarterback in Sunday's 24-13 win over the 49ers.
The ex-Broncos passer fell victim to the flaws that occasionally plagued him as a first-time starter last season in Denver, repeatedly throwing short of the sticks and failing to generate points over three drives against San Francisco.
Osweiler finished 4-of-7 passing for just 27 yards and was outplayed by fellow free-agent pickup Lamar Miller, the former Dolphins runner who plowed through the 49ers for 30 yards off four attempts.
Osweiler's first two drives led to quick punts, marches that featured missed connections to Pro Bowler DeAndre Hopkins and rookie Braxton Miller. Houston's third series fizzled out when Osweiler again threw incomplete to Miller on a fourth-down try in 49ers territory.
It was frustrating to watch Osweiler throw well short of the sticks on a pair of third downs, but credit San Francisco's sticky coverage for clamping down on Houston's pass-catchers.
It's too early to judge Osweiler's fit in coach Bill O'Brien's offense, but he was brought to town for a king's ransom to open up this air attack with his powerful arm. None of that was on display in Sunday's low-wattage dress rehearsal.
Here's what else we learned in Houston's win over the Niners:
- Reports out of San Francisco this week suggested that Blaine Gabbert had run away from Colin Kaepernick in their duel for the team's starting quarterback position. Sunday did little to end the competition, though, unless Chip Kelly is satisfied with a comprehensive grab bag under center. Gabbert threw a rash off off-target lobs -- including a pair of maddening misfires to Carlos Hyde in the flats -- before saving his afternoon with a midrange completion to tight end Vance McDonald, who weaved through defenders for a 43-yard touchdown. Take away that pass and Gabbert was 3 of 9 for just 20 yards. Gabbert also made plays with his legs, but Kelly will want to see a healthy Kaepernick play before calling this fight.
- Hyde showed the speed, burst and power that had fans so excited after the Niners whipped Minnesota in last season's opener. Showing no signs of the stress fracture in his foot that sabotaged his sophomore campaign, Hyde plowed through Houston's J.J. Watt-free defense for 27 yards at 5.4 yards per rush. The 49ers workhorse was at his best barreling up field on a 22-yard run that saw him flatten safety Quintin Demps for extra yardage. He was at his worst two plays later when Texans nose tackle Vince Wilfork pancaked Hyde, who fumbled the ball and could only watch as Houston pass rusher John Simon picked up the pigskin and raced 41 yards for the score.
- As mentioned, Miller ran well for the Texans and gives Houston a legitimate presence on the ground. Don't sleep on Kenny Hilliard, though, the practice-squad back from a year ago who piled up 31 yards off seven totes on just one drive.
- Keep in mind that Watt, linebacker Brian Cushing and pass-rusher Jadeveon Clowney didn't suit up for the Texans. Still, Kelly must be pleased with a 49ers ground game that went nuts on Houston over the first two quarters for 161 yards at 7.7 yards per rush. Along with Hyde, slimmed-down second-year back Mike Davis was lethal, darting for 72 yards off five carries including a 44-yard burst.
- Props to McDonald, the 49ers target who appears primed for a big year in Kelly's tight-end friendly offense. Despite entering behind Garrett Celek, McDonald made good on reports of having his "best offseason" yet with the long touchdown grab and another chain-moving grab for 11 yards. He's an athletic weapon who will serve as Gabbert's security blanket this preseason.
- Notebook dump: San Francisco's mobile rookie passer Jeff Driskel passed for just 20 yards off 12 attempts, but ran for 61. ... Niners inside linebacker Nick Bellore made one of the game's best plays, darting past Texans center Greg Mancz for an athletic sack of backup passer Tom Savage. ... Speaking of Savage, we've long asked on the Around the NFL Podcast if the quarterback is actually a real person. He seemed to prove his existence by playing ahead of Brandon Weeden and doing what Osweiler couldn't in this game: throw a touchdown.