The preseason is back. For the 49ers, it was largely about getting reps for their quarterbacks not named Brock Purdy, and other young players. It worked out much better for the latter two quarterbacks than the starter.
Trey Lance: D
This was a very rough watch. Lance took four sacks and looked like his internal clock was at least a full tick slower than it needed to be.
His inexperience was glaring. The fact that he’s started four career games and hasn’t played an actual game in nearly a year was obvious.
Lance having played limited football is not his fault, but his decision-making was poor. He did not look anywhere near capable of starting for a Super Bowl-hopeful franchise.
Much of that, it should be stated, was not his fault. There was pressure in his face constantly to open the game.
That said, Lance had opportunities to avoid at least two of his sacks by throwing the ball away. He also avoided a few sacks by escaping the pocket, but often should have delivered before the pressure arrived.
His timing and questionable decision-making manifested in two near interceptions. Lance finished 10-of-15 with 115 yards and a touchdown, but that touchdown came on one of his worst decisions of the afternoon. Kyle Shanahan said after the game that he appreciated that Lance “ripped it.”
He fired a ball late, over the middle to Chris Conley. The window had evaporated, and the ball should have been intercepted. Instead, it miraculously found its way into the hands of Ross Dwelley.
Lance also had a near interception when he failed to see sinking, underneath linebacker Darien Butler. Butler should have picked him off. There was also an overthrow of Ross Dwelley earlier in the game.
He also doesn’t have the short-area quickness or raw speed to get out on the edge or be consistently explosive as a runner, at least how he was billed coming out of college. The quarterback position rewards rapid processing, and Lance clearly doesn’t have that right now.
As the game went on, though, Lance improved.
Before his luck-laden touchdown, Lance escaped pressure, rolled right, and made a leaping, short throw to Willie Snead IV.
On the next series, had a dart of a ball over the middle to Chris Conley on a 2nd-and-16 conversion. It was an outstanding throw with great protection.
He also led what should have been a scoring drive to end the half, with just 28 seconds remaining.
Lance found Conley for 24 yards, then Troy Fumagalli for 22 yards, plus a 15-yard penalty at the end of a play. With nine seconds left, he threw up a prayer to Conley in the end zone to set up a 40-yard field goal attempt that Jake Moody pulled badly to the left.
He clearly improved as the game went on.
There will be some overreactions to pointing out that he performed poorly. That’s understandable, given that he clearly just needs reps, and that he will improve with experience. The 49ers just aren’t a team in any position to provide those reps to him.
Sam Darnold: B+
Darnold had one pretty questionable decision on the day, a ball that he tried to sneak into a tight window behind Butler, over the middle. It was a dangerous ball that he shouldn’t have thrown. Despite that, he nearly fit it in.
He was 5-for-8 on the day with 84 yards.
He looked, for the most part, at home in the offense. While his first pass was an overthrow of Tay Martin on an out route, it was negated by an illegal formation call on Martin, suggesting he or Cameron Latu were improperly aligned.
Immediately after, Darnold threw the best ball of the day on either side, an absolute dime down the right sideline to rookie Ronnie Bell.
He had a couple more completions on the drive, including a first-down completion to Martin on 3rd-and-8. It stalled with a failed QB sneak on 4th-and-1 which is of concern. You’d imagine that Jimmy Garoppolo was grinning on the other sideline.
Darnold’s next drive ended before it began. He made an outstanding sidearm throw to Latu while rolling to his left. Latu —who was potentially at fault in two illegal formation calls, and had a hold on a punt return — fumbled the ball, setting up a Raiders touchdown.
On his final drive, Darnold made that aforementioned dangerous throw, but then hit Bell again with another dart. He escaped pressure quickly on the next play to throw the ball in a way Lance struggled to do. He couldn’t connect with Bell on a 3rd-and-7, his final rep of the day.
It was clear that Darnold was more comfortable back there, and when pressure came, he made decisions quickly. Lance might develop that quick decision-making, but if you’re Kyle Shanahan, wouldn’t you be more comfortable with the guy who shows that ability right now, as your backup?
Brandon Allen: A
Allen entered the game with 11:57 remaining in the fourth quarter and looked like he’d be off to a hot start. His first pass of the game was a dart to Ronnie Bell for what should have been a first down. It was nearly a pick-six.
Bell clearly took his eye off the ball, letting it slip through his hands. It bounced into the waiting arms of Raiders corner Sam Webb, who nearly returned it for a touchdown. The Raiders scored a touchdown on the ensuing play.
When Allen returned, he went back to Bell for a short completion, then faced a 3rd-and-8 situation.
He delivered a great ball to Tay Martin down the left sideline for what initially appeared to be a 22-yard grab. Martin got one foot down, but couldn’t land the second, and a Josh McDaniels challenge overturned it.
On his next series, he finally got a well-deserved first down, completing a nice ball on a deep comeback from Isaiah Winstead.
Allen’s next throw was a rollout, no-yardage completion to Martin. It was followed up by a screen completion to Jeremy McNichols, who rumbled for a first down.
He found Brayden Willis on a nice out route along the right sideline to set up a 3rd-and-5. That 3rd-and-5 should have been converted for a first. Allen threw a ball to Khalan Laborn, hitting him in the chest, but Laborn failed to look for the ball in time.
Like Darnold, he was 5-of-8. All three of his incompletions were would-be first downs. All were stolen due to receiver error, but Allen didn’t make a single error.