Three years ago, Chip Kelly's offense took the NFL by storm. The 2013 Philadelphia Eagles led the league in yards per play (tied with the record-setting Denver Broncos offense) and finished behind only the Broncos in total yards. And this was despite being quarterbacked by Nick Foles and Michael Vick for most of the season.

If the first preseason game of the Chip Kelly era in San Francisco is any indication (which it likely isn't, to be clear) we may all be severely underestimating the 49ers' offense heading into the 2016 campaign. Chip's crew racked up 302 yards of total offense in the first half against the Houston Texans on the way to building a 13-7 halftime lead.

San Francisco's offense moved up and down the field on nearly every drive, and left some points on the board as well by fumbling twice. The first fumble (by Carlos Hyde) was returned for a touchdown, while the second cut short a 12-play, 55-yard drive that had moved inside the Texans' 5-yard line.

Colin Kaepernick didn't play and Blaine Gabbert didn't exactly throw the ball very well (4-of- 10 for 63 yards, 43 of which came on one play that was more about Vance McDonald than anything Gabbert did), but the 49ers got pretty much whatever they wanted offensively anyway. Their 21 first-half carries went for 161 yards, with Hyde (22), Gabbert (13), Mike Davis (44), Shaun Draughn (15), and DaJuan Harris (10) all breaking runs of 10-plus yards. Backup QB Thad Lewis added a seven-yard scramble on third down that extended what wound up being a 10-play, 78-yard field goal drive in the second quarter as well.

The passing game wasn't as efficient as Kelly likely would have liked (15-29, 148 yards in that first half), but the uptempo pace worked extremely well: the 49ers ran 50 PLAYS in the first half and the Texans' defense looked consistently gassed. It worked in San Francisco's favor that J.J. Watt wasn't out there for Houston, but most of the other expected defensive starters at least saw some early snaps.

San Fran's backups... did not fare quite as well. They totaled 107 yards on 28 plays in the second half, and didn't score at all. Meanwhile, Tom Savage led the Texans' second and third-teamers to 17 second-half points and a comeback victory.

Here are seven more things of note that happened in Houston's 24-13 win...

2. Brockdown

Brock Osweiler's Texans debut was chock full of check-down passes. Osweiler finished his evening 4-of-7 for only 27 yards (3.9 per attempt), and at times it seemed as though Bill O'Brien specifically told him to check down on every throw. With the exception of the only pass he threw to DeAndre Hopkins and another to rookie Braxton Miller, I don't recall any Osweiler toss traveling father than 10 yards in the air.

He checked down underneath on a 3rd-and-9 and a 3-and-7 in the second quarter, picking up four yards each time before the Texans punted the ball away. It was only preseason so it's not that big a deal, but Houston is going to need Brock to push the ball down the field more often in order to create space for guys like Lamar Miller, Braxton Miller, and the tight ends to operate in the underneath zones.

3. Don't put the ball on the ground

About that Carlos Hyde fumble...

Not great. Carlos could be in for a big year in Chip's offense (the Eagles led the NFL in rushing in Kelly's first Philly season, remember), but he's got to take care of the football. He's got two fumbles on 221 career touches, so it doesn't seem to be a real issue, but it's worth monitoring since he did put the ball on the ground in the preseason.

4. Vance gets the end zone dance

Let's go back to Gabbert's touchdown, which again was pretty much all about Vance McDonald.

Texans rookie Bernardrick McKinney fell down in coverage after getting a forearm shiver from McDonald on his break, then Vance put Quintin Demps on skates with a nice cut back to the inside before waltzing his way into the end zone. McDonald had a career-high 30 catches for 326 yards and three scores in 2015, and could be in line for bigger things in the year to come, given the relative weakness of San Francisco's wide receivers.

5. The Braxton Miller Show

Will Fuller may have been the Texans' first-round pick, but the rookie wideout who was most involved for Houston on Sunday evening was Braxton Miller. Osweiler had trouble connecting with the former Ohio State quarterback, but Tom Savage found him a few times in the third quarter. Miller ended the game with four grabs for 34 yards, including this beauty that extended a field-goal drive:

That's what we call a playmaker.

6. A tale of two halves for Texans D

Houston's starting defense was dreadful, allowing the 49ers to walk up and down the field for the aforementioned 50 plays and 302 total yards in the first half. They missed tackles all over the place, which led to a bunch of big plays.

Once the second and third-stringers came in, though, Houston really picked things up. San Francisco finished the second half having run 28 plays for only 107 total yards, and guys like Eric Lee, Gerald Rivers, and Corey Moore made a few plays in the backfield. The NFL Network broadcast made note of the fact that the Texans blitzed quite a bit more than you might expect with the backups on the field, but it was nice to see guys flying around and actually making hits.

7. Anthony Davis is back

After a year away from football, 49ers offensive lineman Anthony Davis made his return to the field in this one. He played mostly with the second unit offense and looked fine. He had a nice block on a run up the middle where he drove his man backward and made his way up to the second level looking for someone else to hit, only he didn't find anyone there.

8. Super Savage

Tom Savage took over for Osweiler in the second quarter and played the rest of the game. He finished the evening 14-of-24 for 168 yards and two touchdowns, leading the Texans to 17 second-half points as they made their comeback. He found Braxton Miller in the intermediate range with a really nice pass, hit Stephen Anderson for a quick seven-yard strike in the third quarter, then flipped the ball outside to Akeem Hunt for another touchdown early in the fourth. He had the advantage of playing against a very thin third-unit defense for the 49ers, but showing that he can beat those guys is far better than if he'd shown the opposite.