The Raspberry Pi Model B+ has recently been released with improved USB hardware. This test aimed to determine if this new hardware would reduce the latency compared to the Model B. And the answer I’m afraid is No.
The new USB hardware requires different firmware from previously. As I was going to have to rebuild the operating system anyway, I opted to try a minimal installation using raspbian-ua-netinst. There was a second reason for doing this, which was to install the “Jessie” build of Raspbian rather than “Wheezy” because “Jessie” comes with the latest build of gstreamer as standard. This is currently at version 1.4.1. In “Wheezy” you only have access to version 1.0.
Two installs were completed using identical procedures. One on my old model B and one on a new B+.
The test environment was set up the same as previously, with the camera pointing at the laptop screen. The camera was positioned so that at least ten iterations of the image was visible at once. I used the LED on my phone with a flashlight app for measurement indicator. The tests were run with no overclocking.
I used a UDP stream using the same scripts as for the previous Transport Stream and Overclocking Test.
A GoPro 3 Black was used to record the screen at 120 fps.
Three identical tests were run. One for each Raspberry Pi using the operating system that had been built on it and then a third test using the B+ micro SD card in the model B with an adapter. A number of led on/led off cycles were recorded and then two cycles from each run were picked at random for analysis.
The GoPro video was analyzed using VideoReDo H264 to establish the number of frames between the LED switch on (or off) and the tenth iteration switch on/off. This value was then divided by 1.2 to get the latency in milliseconds.
- Model B, Native built OS : 156ms, 150ms, 138ms, 147 ms = an average of 147ms +/- 10ms
- Model B+, Native built OS : 153ms, 154ms, 157ms, 154ms = an average of 154 ms +/- 3ms
- Model B with B+ built OS : – 148ms, 142ms, 158ms, 148ms = an average of 149 ms +/- 8 ms
For now the Model B+ appears to give a slightly higher latency than the Model B. This is a shame as the B+ has a much cleaner layout. Hopefully, the latency will improve with time as the USB drivers are optimised. The “Jessie” build of Raspbian has not been officially released yet.
The results for the Model B were slightly better than the previous Transport Stream and Overclocking Test by about 10 millseconds so it appears the minimal raspbian-ua-netinst build was worthwhile. See this post for details on how to configure raspbian-ua-netinst for “Jessie”.