Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Finally, backup cameras are smooth in the 2023 Holiday Update!

This site may earn commission on affiliate links.
As a frame rate junky that loves smoothness, this is something I wanted for a long, long time. Tesla finally implemented hardware video decoding on MCU2 with the 2023 holiday update! This has lots of benefits that I'm going to geek out about.

Because of this, all 3 cameras in the backup camera view is much smoother. Previously, the backup camera was by my eye's estimate running at approximately 24fps, and the side cameras are ~15fps. What's worse is that it was dropping frames randomly, so the frame rate was stuttering and inconsistent and inconsistent across the 3 camera views. Now, the videos are clearly much smoother, and running at the full 36fps, which is the max fps AP2 cameras are capable of.

This also affects the dashcam viewer. Dashcam videos play much smoother, seeking is much faster. It's a beauty for a frame rate junky like me.

Technical stuff:
How is this possible? Tesla used to play the video streams from the 3/4 different cameras using the CPU to decode. The Atom CPU in MCU2 isn't fast enough to decode 3 simultaneous streams of videos without dropping frames, which is why the backup camera can be jerky. But there's a dedicated hardware video decoder on the Atom (capable of simultaneously decoding 15 1080p30 videos), and Tesla finally started taking full advantage of the hardware decoder and because of that all camera views can be played at full frame rate and full resolution completely smoothly, freeing up an enormous amount of CPU cycles for other things.

This has other benefits:

Blind spot camera resolution is much better. It takes about 0.5 to 1 second to start playing a video. Because the left/right repeater cameras need to show up immediately when the blinker is on, Tesla was just playing the 2 video streams for the left/right repeaters in the background, regardless if the blinkers are on. This way the video can pop up immediately when the blinkers are on. But this is taxing on the CPU, and it's a constant burden, so Tesla used a much lower resolution and bitrate video for the repeaters in order to reduce the CPU load. But you can clearly see the blocking artifacts in the videos during motion because of the low bitrate. Now, with hardware decoding, there's no performance penalty, so Tesla is directly playing the same high bitrate video stream used for the dashcam on the screen. It's smoother and higher video quality, it's wonderful!

Maps loading is noticeably faster. Because video decoding is offloaded to the hardware decoder, CPU utilization is down dramatically, and therefore there's a lot more CPU cycles available for maps to load noticeably faster than before.

Unfortunately, there is no hardware video decoding for Tesla Theater apps like YouTube and Netflix. Tesla Theater apps are webapps run on browsers, which is Chromium on Tesla. However, Google has stated they do not want to enable hardware acceleration support for Chromium on Linux. Therefore, all video is CPU decoded on the browser.

Pro tip: When playing YouTube, choose 1440p. YouTube sends AV1 videos for 1080p and below, because AV1 is 30-50% more efficient than VP9. But AV1 is much slower to decode than VP9, and therefore MCU2 can't play 1080p AV1 smoothly. However, MCU2 can (almost) decode 1440p VP9, with ~5-10% dropped frames, which isn't too visible, way better than ~30% dropped frames on 1080p AV1. So instead of dropping to 720p, go up to 1440p instead. It's smoother and higher video quality.

Interior_of_Model_3.jpg

"Interior of Model 3" by Leo Nguyen is licensed under CC BY-SA 4.0.
Admin note: Image added for Blog Feed thumbnail
 
Last edited:
Awesome! Great to see Tesla is still optimizing code for MCU2. My biggest fear with the lack of upgrade path to MCU3 is that Tesla would leave old customers abandoned and focus attention solely on MCU3, but this appears to not be the case! The crappy frame rate on the cameras has always bugged me, and dropped frames when reversing is legitimately dangerous.

My personal experience so far has been that the holiday update feels slower and/or glitchy (I had the backup cam lag out on me more then previous and the MCU crash/reboot upon entering the car once). I'll keep an eye out for the increased frame rate though. The rest of this stuff I'm sure will get resolved in subsequent bug-fix updates eventually.
 
Yesss!!! I've been annoyed with the slow, choppy, and inconsistent backup cam on our 2021 Model 3 since it was new. It got somewhat better with past updates but still inferior to our 2013 MCU1 Model S backup cam, which has always been smooth and reliable, I assume thanks to the Tegra HW decoding.

Maybe it's safe to upgrade our S to MCU2 now. 😅
 
  • Like
Reactions: laiod
Technical stuff:
How is this possible? Tesla used to play the video streams from the 3/4 different cameras using the CPU to decode. The Atom CPU in MCU2 isn't fast enough to decode 3 simultaneous streams of videos without dropping frames, which is why the backup camera can be jerky. But there's a dedicated hardware video decoder on the Atom (capable of simultaneously decoding 15 1080p30 videos), and Tesla finally started taking full advantage of the hardware decoder and because of that all camera views can be played at full frame rate and full resolution completely smoothly, freeing up an enormous amount of CPU cycles for other things.
So out of curiosity - how much processing power has been 'freed up' so to speak? 10%? 50%? I've absolutely noticed the faster dashcam video times and I guess I had a placebo with faster youtube playing.

Do you think this will allow us to get the pillar cams + interior for sentry mode? I'm wondering if there's some remaining potential with the Atom processor Tesla could squeeze out in general. Obviously it's no Ryzen though.
 
So out of curiosity - how much processing power has been 'freed up' so to speak? 10%? 50%? I've absolutely noticed the faster dashcam video times and I guess I had a placebo with faster youtube playing.

Do you think this will allow us to get the pillar cams + interior for sentry mode? I'm wondering if there's some remaining potential with the Atom processor Tesla could squeeze out in general. Obviously it's no Ryzen though.

I wish I could get access to see the CPU usage on a Tesla, so I can only speculate, but I would imagine it is substantial, in the range of 50%. I actually tried playing dashcam videos on a Intel Core i5-4258U, which is a dual core at 2.4GHz (turbo to 2.9GHz), which is roughly the same total processing power as the 1.6GHz quad core Atom in MCU2. With software decoding, it can only play 2 dashcam videos simultaneously, but that took basically 100% of the CPU. On an atom it would be worse than this because it has twice the cores, but half the power on each, and multithreaded software encoding doesn't scale perfectly (maybe 70-80%), and Tesla might not even have multithreaded software video decoding. This is why the side camera views had to be in a lower resolution, lower bitrate, and lower fps video, and even then I suspect a rough range of ~50% of the CPU is being used all the time just for the camera video streams.

On sentry mode, if Tesla wanted to, there is absolutely no technical problem with doing all 9 cameras for sentry mode. The Atom can hardware decode all 9 streams simultaneously, and HW3 has no problem encoding 9 streams simultanously. Because the car is not driving, there is enough bandwidth on the 100mbps ethernet link to do all of this. It will increase the USB drive's requirements a good amount. However, this is much more challenging for dashcam, because Tesla only has a 100mbps ethernet link between MCU2 and HW3 and apparently Tesla's using basically all of it while driving, so there is no more bandwidth for additional camera views for dashcam. There is a version of HW3.2 + MCU2 sometime after mid 2020 with a gigabit ethernet link, and that will free up all bandwidth problems. I don't know (and doubt) if Tesla wants to differentiate newer MCU2s can do this while older ones can't.

Another way is Tesla could switch to H.265, which is twice as efficient, which will allow twice the number of videos for the same bitrate. Both HW3 can hardware encode H.265 and MCU2 can hardware decode H.265, and Tesla has already paid the painful H.265 royalties already (because AP video clips sent back to Tesla use H.265) I hope Tesla can do that, either to allow more camera views, or just increase the quality of the dashcam because 5.2mbps H.264 is good, but isn't quite high enough and there's still some motion artifacts from not having enough bitrate.

But yeah, all this is to say there's a good amount more to be squeezed from MCU2 if Tesla wanted to by making better use of hardware acceleration, both for video and graphics. This was one big first step and I'm surprised it took so long given how much CPU it frees up for the relatively low difficulty for the implementation. I think this is why YouTube loads faster (it took 11-12s on 2023.27, now it takes 7-8s). But also note, the CPU in MCU2 is basically the equivalent of a 2008 desktop PC (Q6600), or roughly an iPhone 6 from 2014, and the iGPU in MCU2 is way slower than the iPhone 6's GPU. Tesla has done a great job as is squeezing a mostly smooth UI out of such a weak hardware. Possible future optimizations (such as hardware decoding Tesla theater, map/UI graphics optimizations, proper FSD visualizations) will take much more engineering effort than what was done here. Although it does seem like work has started on all of them, which is exciting to see.
 
Last edited:
  • Informative
Reactions: APotatoGod
The frame rate hasn’t been the issue for me as much as the sporadic glitching and lagging. A slow frame rate is not as visually pleasing but your brain can deal with it. The intermittent lagging could actually be dangerous.
@sleepydoc Agreed. It's the intermittent freezing or dropped frames that are the significant issue.

The low framerate I would probably just get used to if I weren't switching back and forth between the cars all the time.
 
  • Like
Reactions: APotatoGod
However, this is much more challenging for dashcam, because Tesla only has a 100mbps ethernet link between MCU2 and HW3 and apparently Tesla's using basically all of it while driving, so there is no more bandwidth for additional camera views for dashcam. There is a version of HW3.2 + MCU2 sometime after mid 2020 with a gigabit ethernet link, and that will free up all bandwidth problems. I don't know (and doubt) if Tesla wants to differentiate newer MCU2s can do this while older ones can't.

First, thank you for the write up Brian! I appreciate the detailed response. It's great to see them optimizing the hardware they already have. I definitely think they have their eyes on adding at least the pillar cams to sentry mode - they added it to the live view afterall. I don't have an issue with having to get a larger USB drive 😄

Second, in regard to the quoted message above, is there any way to know when they did the switchover? Where can I find this info online? My luck I have a 2020 SR+ made in June 2020 so I might be SOL on that one. I wonder if they would ever offer a "HW3.2" upgrade.

EDIT: I have my dashcam USB in the center console instead of glovebox if that matters. I wonder if there's a way to check on the car itself?

In any case though, I'm VERY satisfied with what I have right now just with software updates. Just need to get the camera upgrade so I don't have that nighttime light bleed :)
 
Last edited:
For me, it's still choppy and with a lot of stuttering... I'm on 2023.44.30.5.1, what version are you?
Could the USB SSD I have affect the slugginished of cameras? Sometimes It's smooth.. but most of the time a lot of random fps drops, it's very annoying.
Yea, 44.30.5.1 feels buggy to me. Backup camera lags and randomly drops a ton of frames. Non-camera related, LTE connection takes forever to come up. Spotify crashed on me. @BrianZ what version did you see these improvements on?
 
  • Like
Reactions: tm1v2
Yea, 44.30.5.1 feels buggy to me. Backup camera lags and randomly drops a ton of frames. Non-camera related, LTE connection takes forever to come up. Spotify crashed on me. @BrianZ what version did you see these improvements on?

I just updated to 44.30.8 today and don't notice any difference, as you said, all the cameras are still sluggish and drop frames randomly. Sometimes it's "ok'ish" but sometimes it just stutters like crazy, like 1 second stutters which makes the backup camera un-usable.
 
  • Like
Reactions: tm1v2
I just updated to 44.30.8 today and don't notice any difference, as you said, all the cameras are still sluggish and drop frames randomly. Sometimes it's "ok'ish" but sometimes it just stutters like crazy, like 1 second stutters which makes the backup camera un-usable.
Just upgraded today myself and the map seems quicker and OS generally feels less slow and glitchy. Backup camera is improved, but still saw some dropped frames.
 
Yea, 44.30.5.1 feels buggy to me. Backup camera lags and randomly drops a ton of frames. Non-camera related, LTE connection takes forever to come up. Spotify crashed on me. @BrianZ what version did you see these improvements on?
OK so I did more driving and I did notice occasional dropped frames sometimes, which is unfortunate that this problem still exists and I have no idea why. The frame rate is always smooth though, which is great and a lot better than before. I've never seen anything close to 1 second delays in any software version, I'd bring that in to service if someone sees 1 second delays.
 
  • Like
Reactions: laiod
I'm curious when Model 3 started to have the gigabit ethernet connection included. I have a June 2020 build which is right on the edge of that cutoff you mentioned. I found an article way back in April of 2020 showing the Model Y had it. I'm really just making this post for any future people looking for the info.
 
OK so I did more driving and I did notice occasional dropped frames sometimes, which is unfortunate that this problem still exists and I have no idea why. The frame rate is always smooth though, which is great and a lot better than before. I've never seen anything close to 1 second delays in any software version, I'd bring that in to service if someone sees 1 second delays.
Maybe ignorance is bliss (I don't have other backup cameras to compare to), but I haven't noticed the stutters and delays others are pointing out even on 2022 firmware. 1 second is massive in terms of a delay, I highly doubt that would be the case unless you have a defective rear harness (which for people unaware, there is a recall for):
https://www.tesla.com/support/model-3-trunk-lid-harness-retrofit

However, I do notice the player for the dashcam is dog slow and I never use it to review footage unless absolutely necessary (I just take the card out of the car and do it on the computer).
 
  • Like
Reactions: laiod
Maybe ignorance is bliss (I don't have other backup cameras to compare to), but I haven't noticed the stutters and delays others are pointing out even on 2022 firmware. 1 second is massive in terms of a delay, I highly doubt that would be the case unless you have a defective rear harness (which for people unaware, there is a recall for):
https://www.tesla.com/support/model-3-trunk-lid-harness-retrofit

However, I do notice the player for the dashcam is dog slow and I never use it to review footage unless absolutely necessary (I just take the card out of the car and do it on the computer).

You mention the dashcam player is dog slow. Are you on the 2023.44 holiday update? If you are, and it is still slow, then it very likely means Tesla is only giving this hardware accelerated video feature to a percentage of users (which will expand with time). That would make sense, as that's pretty common practice for rolling out new software features.