Skip to content

Feature · Peregrine 3D map enginePremium

Every web map is built for every screen. Ours is built for one.

Peregrine is codriver’s own 3D map engine, written for the Tesla browser because no general-purpose map could run there properly. On a 2019 Model 3 it draws a full 3D map (roads, buildings, street names) at 25-35 frames a second. On that same car, the general-purpose engine codriver used before managed 10-15, drawing a flat map.

Which means, on the cars everyone had written off, the 3D map is two to three times faster than the flat map it replaced. Compass and Track, the 2D views, run on Peregrine now too.

What a frame rate feels like

10 fps is not “a bit slow”. It is unusable.

Frame rate sounds like a specification, but it decides the whole experience, and the range where it stops mattering is narrow.

At around 10 frames a second a map does not read as slow. It reads as broken. Panning lurches instead of sliding, the view arrives somewhere after your finger does, and the map is always a beat behind the car. The practical result is that you stop glancing at it, and a driving map you do not trust enough to glance at is not doing its job at all.

At 25 frames a second, sustained, the whole thing changes. The map keeps up. It moves when you move and settles where you expect it to. You can take the half-second look a driver actually has time for, get what you needed, and put your eyes back on the road. Nothing about it asks for your attention.

This engine was built to close the gap between an app you tolerate and one you rely on. It is also why the number is worth a page of its own: everything else codriver does, the alerts, the cameras, the routing, is delivered through a map. If the map is painful, none of the rest lands.

Measured in real cars

Including one that is nine years old.

These are readings from cars in a driveway, not from a laptop pretending to be one.

CarComputerMapFrames per second
Model Y (2023)
MCU3 · AMD
3D (Peregrine)
60, steady
Model 3 (2019)
MCU2 · Intel
3D (Peregrine)
25-35
Model S (2017)
MCU2 · Intel
3D (Peregrine)
25-35
Model 3 (2019)
MCU2 · Intel
2D (previous general-purpose engine)
10-15

Read the last two rows together. Same car, same afternoon. The 3D map drawing buildings, street labels and a route ribbon runs two to three times faster than the flat map codriver used to draw with a general-purpose engine, drawing none of them, because one of them was written for this machine and the other was written for every machine. The 2D views have since moved to Peregrine as well.

The four views

One drive, four ways to see it.

Same road, same minute, four ways to draw it. Two of the views are flat and two are pitched, and you pick one per drive in Settings. Compass and Track, the flat pair, are free. Tilt and Cityscape are Premium.

The codriver map in Compass view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.The codriver map in Compass view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.
Compass keeps north at the top and the map flat, so the map holds still and the car turns on it. Street names sit angled along the roads they name.
The codriver map in Track view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.The codriver map in Track view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.
Track turns the map with you instead: your heading points up the screen. The labels turn with the roads they name and stay the right way up while the map rotates.
The codriver map in Tilt view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.The codriver map in Tilt view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.
Tilt drops the camera toward the road, so the distance ahead is where you are looking and the route narrows into it the way the road does. Traffic colour sits on the roads themselves.
The codriver map in Cityscape view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.The codriver map in Cityscape view on a Tesla screen, mid-route, with the car on its line and the road labels along the streets they name.
Cityscape extrudes the buildings as well. The route threads down the street between them, and the block in front hides whatever stands behind it.

Why we took this on

The browser was always the ceiling.

codriver lives inside the Tesla’s own web browser. That is the whole proposition: nothing to install, no firmware to wait for, no app store to be allowed into. It is also, by a distance, the hardest technical constraint we have. Everything has to run in a browser tab, on a car computer, over a car’s connection, while you drive.

Every app in that browser hits the same ceiling, and for us it landed squarely on the map, the one surface everything else is delivered through. On the pre-2022 Intel cars it was the weak part of the product, and no amount of tuning around the edges moved it. Alerts, cameras, chargers and routing are only as good as the thing they are drawn on.

The reason is structural, and it is not anyone’s fault. Public map engines are generalists by necessity: they must run on a phone, a laptop, a desktop and a television, across a decade of hardware and every browser. Generality has a price, and the price is paid in work done per frame: geometry re-cut, labels re-placed, buildings re-extruded every time the camera moves. On a desktop that is invisible. In a navigation view, where the camera moves continuously, it is the entire budget.

So this summer we did the thing that sounds unreasonable: we built a 3D map engine of our own, aimed at exactly one target. One browser. One screen size. Two known graphics chips. When you know the machine, you can make decisions a generalist is not allowed to make: build each tile’s geometry once and never touch it again, ship a scene with no lighting to compute, bake the shading into the data before it ever reaches the car.

As far as we know nobody else has done it for this browser, and no setting or library swap would have moved that ceiling.

The name came last, not first. We expected the older cars to become merely usable. When the numbers came back from a 2019 Model 3 and a 2017 Model S (25 to 35 frames a second, in 3D, on hardware everyone had written off), we went looking for something that could carry them. A peregrine is the fastest animal alive, and the trick was never the raw speed: it is staying composed in the dive. That is the engine, so that is the name.

What it means on your screen

A map that keeps up with the car.

3D on an older car at all

Tilt and Cityscape used to come with a warning on the Intel cars, and defaulted to off. That warning is gone. If your car is a pre-2022 Model 3 or Model S, the 3D views are now for you too.

Street names that stay upright

Labels are drawn separately from the map, so on a heading-up map they stay readable at any bearing instead of turning upside-down through half of every drive. Angled along the road they name, haloed so they hold against a bright road or a dark park.

No blank frames when you zoom

Detail levels cross-fade into each other rather than rebuilding, so zooming, including the automatic zoom that follows your speed, is continuous. No stutter at the thresholds, no flicker while you pan.

Your car’s own colours

The map follows the car’s day and night theme rather than approximating it, so codriver sits next to Tesla’s own screen instead of arguing with it.

A route that reads like a road

The route line holds a fixed width on the ground rather than on screen, so it narrows into the distance the way the road does, and buildings pass in front of it where they should.

Your actual Tesla on the map

Because the scene is real 3D, your car can be in it, with your model, paint and wheels and headlights on after dark, instead of an arrow. Only a real renderer has anywhere to put it.

One of the foundations

This is the part that could not be bought.

Alerts, cameras, chargers and routing are things codriver does. Peregrine is the reason they arrive on a screen that feels good to use, and it is not something you can add to a product later by picking a different library. It is why codriver works on cars other apps gave up on.

The 3D views are Premium. Compass and Track, the 2D views, are free and always will be.

Questions

The ones we actually get asked.

Why build your own map engine instead of using an existing one?

Every public map engine is a generalist. It has to run on a phone, a laptop, a 4K desktop and a smart TV, and it earns that reach by rebuilding the world on every frame: re-cutting geometry, re-placing labels, re-extruding buildings each time the camera moves. On a navigation view the camera moves constantly, so that cost is paid every single frame. The Tesla browser is not a generalist target: it is one screen, one browser, and on cars built before 2022 a modest Intel graphics chip. Peregrine is built for that one target. It cuts each piece of road, ground and building once and then leaves it alone.

What does the frame rate actually change for me as a driver?

Everything about how the map feels. At around 10 fps a map does not feel slow, it feels broken: panning lurches, the view lags behind the car, and you end up not trusting it enough to glance at it while driving, which defeats the point of having it. At 25 fps and above the map simply keeps up: it moves when you move, it settles where you expect, and you can take the quick glance a driver actually has time for. That is the difference between an app you tolerate and one you rely on.

Is Peregrine really faster than the map codriver used before?

On the older Intel cars, by a wide margin, and we were as surprised as you are. On the same 2019 Model 3, Peregrine draws the full 3D map at 25-35 fps, where the general-purpose engine codriver used before managed 10-15 drawing a flat map. 3D did not become cheap. A renderer built for one machine beats a renderer built for every machine by enough to pay for the extra dimension and still come out ahead. Compass and Track, the 2D views, now run on Peregrine too.

Which cars has this been tested on?

These are measurements from real cars. A 2023 Model Y on the newer AMD-based computer holds a steady 60 fps. An early 2019 Model 3 and a 2017 Model S (both on the older Intel MCU2 computer) hold 25-35 fps in 3D. The 2017 Model S is the important one: it is a nine-year-old car running a live 3D navigation map in its web browser.

Do I need Premium for the 3D views?

Yes, for the 3D pair. The 2D views, Compass and Track, are part of the free tier and always will be. Tilt and Cityscape are Premium. Peregrine draws all four — Compass and Track are the same scene flattened and pointed straight down — but the pitched pair is what it was written for, and what costs a car something to draw.

Will it drain my battery or slow the car down?

It runs in the browser, on the screen’s own graphics, the same as any web page you open in the car. Peregrine is deliberately frugal there: building geometry once instead of every frame is exactly what stops it burning cycles, and the scene has no lighting to compute at all. Doing less work per frame is the whole design.