The Companion App is an incredible tool for those with actual HoloLens devices. It lets you do so much. You can remotely capture photos and videos, launch and close applications and see how much battery life is left.
It even lets you use your PCs keyboard with the device (in case you don’t have or don’t want to pair a Bluetooth keyboard to the HoloLens).
But the most valuable feature of all is the ability to remotely view the mixed reality experience as seen by the user wearing the HoloLens. This is incredibly helpful when trying to walk someone through a demo or when trying to give a presentation to an audience.
The problem, though, is that the whole streaming experience can be quite temperamental. The process needs lots of WiFi bandwidth and can be very picky when it comes to access points and network adapters. I’ve had a lot of difficulty getting a solid streaming experience, but after trying at least 5 different networks and attempting different tablets and PCs, I’ve learned some tricks I can share to help make the experience better.
Try Disabling Packet Coalescing
First and foremost, on the Windows PC where you’re running the companion app on try disabling Packet Coalescing.
This can be found under Network and Sharing Center -> Change adapter settings -> Right-click on Adapter -> ‘Properties’ -> Configure.
Packet Coalescing is designed to reduce the number of times the network driver wakes up to handle multicast packets, and by reducing wake ups the adapter should theoretically consume less power. However, in practice I’ve seen this feature cause problems with media streaming in general. For example, with it turned on I can’t continuously stream a video from my home server to my Surface Pro 3 running Kodi. It always stops every 20 seconds or so to buffer. But disabling Packet Coalescing clears that problem right up.
Be selective with what you’re streaming
Next, try being selective with what you’re streaming. On the streaming page there are more options to configure than you might realize, and they’re all tucked away in the menu bar.
The ‘…’ menu (outlined in green) allows you to configure what content the HoloLens is actually transmitting.
When giving 1 on 1 demos you’ll probably be standing right next to the person so you don’t really need the Microphone. And if they have the HoloLens volume turned up you probably don’t need to stream the Device audio either. But in my own tests with the current build of the Companion app (220.127.116.11) I’ve found that turning these off didn’t have a positive impact on performance. In fact I’d even go so far as to say that unchecking any of these boxes seems to slow the stream down. I’m guessing that’s a bug though, so I’m leaving these options in this article for future reference.
With current builds it seems the best option is to pop up the volume control (outlined in cyan above)
and then tap on the mute button to the left of the slider. This mutes the audio feed from the device and does seem to have a positive impact on performance.
Finally, if none of those settings help you can try reducing the quality of the stream (under the button outlined in purple).
I recommend this as a last resort though, since the Fast option really does reduce the quality of the stream by quite a bit.
Improve Network Strength
Really the biggest impact on the stream seems to be the quality of the wireless network. If the HoloLens has any trouble delivering packets the streaming really goes south. You can try adding a range extender to your network or try moving to a room that’s closer to your access point.
Use Windows Mobile 10 in Hotspot Mode
By far the biggest impact for me on getting a quality stream was switching to my phone for the network and the receiving device. Not everyone will be able to do this because not everyone has Windows Phone 10, but since this change had by far the biggest impact for me I want to share some tips on the process.
First, you’ll need to enable hotspot which is under Settings -> Network & Wireless -> Mobile hotspot.
Then connect to the same network on the HoloLens. Finally, install and run the companion app on the phone itself.
But what if I need to present to an audience?
Running mobile hotspot and the companion app on the phone have given me the best performance, but what if you need to present to an audience?
Luckily Microsoft offers the Project My Screen app for Windows PCs.
Using this app you can connect your phone to the PC via USB cable and project the phones screen to a large audience at high frame rates. There are some keys to be aware of on the desktop side that you can use to change how the app presents itself.
As soon as I start presenting my phone I usually press F then E then B. This makes the app Full screen, Expands (scales up) the stream and turns off the Background image of the phone. It’s a lot of hoops to jump through, but until the performance issues are resolved on the device and in the companion app this may be your best route for presenting to a larger audience. In fact I’ll be using this method tomorrow to present HoloLens at the Unity VR & Multiplayer Roadshow in Austin. If you happen to be in Austin, I hope you can drop by!