Holographic Remoting breaks in play mode with XRInputSubsystem errors - unity3d

I use Unity (2019.4 LTS) for developing an application for Microsoft HoloLens 2 as the target platform. To do so, I added MRTK (Version v2.5) to my project to use some of the libraries. I regularly get errors in the console that look like this:
[XRInputSubsystem] A device disconnection with the id 2000000037 has been reported but no device with that id was connected.
It seems to happen somewhat randomly. At first, I thought it was disconnecting or something, but then I realized it was just pausing Unity, and I can click 'play' several times to bypass them. This workaround is annoying and slows me down though. Does anyone have an idea for solving this issue?

I solved this error only by increasing the bandwidth of my Internet network. This error happened when my Internet bandwidth was 9MB per second. Now, I use a stronger bandwidth of about 70MB per second and I do not see the same error at all.

Related

Chromium 88 data leaking in kiosk mode

I am using Chromium 88 in kiosk mode connected cellular. Chromium is running the site as http://localhost with occasional data push from server. Even when a static page is on there is a constant data exchange around 470 bytes per second which is 1MB per hour. Since I am on a cellular with $0.10 per MB this adds up. Is there any way to completely stop chromium in sending any data when idle? Below are the command line inputs I've already tried but I am still not able to stop the data leak. Any thoughts on how to completely stop chromium sending data will be good. I cannot completely work offline mode, because I need to send some data from server once a day to keep it refreshed.
Any pointer will be helpul.
/usr/bin/chromium-browser
--disable-sync
--data-reduction-proxy-lo-fi
--enable-data-reduction-proxy-savings-promo
--disable-background-networking
--disable-component-update
--dns-prefetch-disable
--disable-plugins
--no-pings
--disable-background-mode
--disable-translate
--disable-session-crashed-bubble
--noerrdialogs
--disable-infobars
--kiosk http://localhost
I found the answer myself. Documenting answer for others. chromium-browser contains google services which starts automatically and connect to account.google.com, *.googleapis.com, safebrowsing.googleapis.com and many others which slowly leaks data around 1 mb per hour. This is not a big deal if connected to WiFi but is an issue when connected to cellular with data only plan. So I removed chromium-browser and added ungoogled-chromium https://github.com/Eloston/ungoogled-chromium which strips out all google services. They have the latest chromium version and it works exactly the same without google services.
I personally think if anyone using raspberry pi chromium without google services should install this.

What ressources of my computer does Holographic Remoting Player utilize most?

Hello I am working on a project where I want to show high polygon 3D-objects. I figured out the Holographic Remoting Player is the easiest and fastest way to get it running. My question is: Does Holographic Remoting need a powerful CPU or GPU? On the official site of Microsoft it says it needs at least a GTX 970, but it still doesn't run smoothely. What CPU is the minimum requirement?
In addition to computer hardware requirements, you also need to pay attention to your wireless network environment, please ensure the Bit rate and stability of your wireless network. Check out what Microsoft suggested here: PC System Requirements.
If you cannot confirm the reason for the holographic stuttering, you can follow this doc to enable Diagnostics, the number of FPS and Latency will show you(in HoloLens1), the former number dependent on your hardware device, and the latter number is largely dependent on your Wi-Fi network.
Thank you for your help. It turns out the problem lies with the Unity Engine, which is really not ressource efficient. When the app gets built in Visual Studio it runs nearly without flaws. Unity requires a very powerful CPU. https://www.pugetsystems.com/recommended/Recommended-Systems-for-Unity-188/Hardware-Recommendations

How to improve delay when using google cast remote display

I followed this tutorial https://codelabs.developers.google.com/codelabs/cast-unity-plugin/#0
to learn how to cast a unity game on a chromecast.
It works and the result is bad. There is almost one second of delay between my actions and their display on my tv. (I pulled the frame rate down to 15 FPS and it didn't change anything).
I was wondering if it was useless to try making an action game on chromecast with the remote display or if there were some workarounds. I didn't find any article about that problem. Is this related to the network protocol ? Is there a way to change it (I guess it isn't) ?
Well, I'm deeply disappointed really.
[EDIT] My android device is a Nexus 7 (with Marshmallow). The chromecast is the last one. As for my wi-fi, everything seems ok, but how can I test it (on ubuntu 14.04 system) ? I tried on another wi-fi network (a mobile hotspot) and had the same result (maybe a mobile hotspot isn't relevant)...
And I tried this : https://play.google.com/store/apps/details?id=com.hillmanworks.drawcast and the performance is rather good. So my network is not the problem (at least not a "standalone" problem).
[EDIT2] The strange thing is, that when mirroring my device, the performance is much better than when casting directly from the unity app... this is not my network.
[EDIT3] I made a very simple app (from the roll a ball tutorial from unity site), and I still have a 1 sec delay (on a nexus 7). The same example on a cheap acer tablet, I have 5 sec delay. The thing is, for both devices, if I try to play this simple app through device screen mirroring, the delay is maybe 0.3 seconds (much better). I don't know what to think.

how to restart iPHone/iPad Bluetooth LE after communication hangs

What is the best way to COMPLETELY restart the iOS Bluetooth BTLE central and peripheral managers, after communication stops between two iOS devices (iPad-mini)?
Sometimes after a few minutes, my BTLE communication stops (central can not get response from peripheral, though debug output of each device shows app still running and central app still is trying to scan peripheral, and peripheral is still advertising), and will not start again:
after stopping scanning and stopping advertising, comm still doesn't work;
after re-opening the app, comm still doesn't work(!);
after POWER CYCLING the iPads comm works again, but then after a few minutes dies.
Therefore, something I'm doing is clobbering maybe the iOS core Bluetooth software.
Sometimes there are error messages from the underlying BTLE layer.
BACKGROUND:
Each iPad in this system alternately works as central, to read/write data to others, and then as peripheral, to be read by others. Never at the same time, and with a 1 second delay between transistions.
The bluetooth stack is not the most robust part of iOS. This may have improved in iOS7 but issues have always existed. You most probably are stressing the system so that this hang happens more often. You should create a bug report and send it to Apple. Or create a TSI, as a developer you have two of those every year. They are the only ones who can do something about it.
To solve the issue, restarting the app usually helps but sometimes bluetooth needs to be turned on/off or worst case the device needs to be power cycled. Unfortunately, there is not programmatic way to do any of these.

HTC One with java.net.Socket stuck in DataInputStream.read when on HSDPA. Work fine on 3G and Wifi

It's on Android. I have a chat tool that sends/receives packets. On the client side I parse the packets and display the message to users. A traditional chatting tool.
The problem is the tool works quite well on other devices on wifi, Edge and 3G, except the HTC One. On HSDPA (3G) we notice that the client cannot receive the packets as usual. It's stuck there until we reset the socket.
I debug and found that the DataInputStream.read() method (in the while loop to listen to the incoming data) is stuck there. I attached Android source to go deeper but not until the java.libcore package of Oracle.
I guess the issue is because of the Sleep mode of the HTC One. But on foreground, the app cannot receive the message too, until we open a new socket (with a long timeout, about 4 minutes, which is too long for a chatting tool).
As I researched, I try to install the SmartSync Disabler for HTC and the situation seems to be better. When I decompile the tool, it only sets 2 parameters: sleep_mode_mode to off and data_on_wifi to off, which means on the sleep mode, SmartSync does not disconnect wifi.
My question is has anyone encountered this situation before on HTC One in particular? What could be the reason?
Many thanks!
We have just got the same problem.
Try to play with this methods
void setReceiveBufferSize(int size)
void setSendBufferSize(int size)
I.e. make it much smaller.