I know that the Xbox One dev mode is still in beta, and I know that we only have access to about 45% of the GPU currently. But still, isn’t performance a bit disappointing?
My Windows laptop benchmarks at 2618 in 3DMark from Steam. I have a test project which runs about 10 FPS on this laptop in 19201080 resolution when using a standalone PC build. Even the UWP build runs about 10 FPS on this laptop in 19201080 resolution - so it looks like Unity’s UWP builds are about as efficient as the classical standalone PC builds.
BUT, when running the UWP build on my Xbox One in dev mode the framerate was also only about 10 FPS, AND furthermore the Xbox One was set to output video only in 720p format, which is lower than the resolution on my laptop.
I had expected more, even though it’s still in beta. Anyone else have any experiences regarding performance of UWP builds on Xbox One?
Did you try using the profiler? Are you CPU bound or GPU bound? If it’s the former, then setting lower resolution on xbox one won’t increase performance. What’s the CPU on your laptop?
Sorry for the major delay in my response. My Xbox One have been away for replacement (not related to dev mode activation btw). But now I have made a development build of my game, and build it in debug mode from Visual Studio, and managed to get it running on my Xbox One. When launching the profiler in my Unity editor I can see that “MetroPlayerX64(XboxOne)” shows up under “Active Profiler”. Unfortunately, when I attempt to connect to it from the profiler I get the following error in the Unity editor console:
Socket: connect failed, error: En ikke-blokerende sockethandling kunne ikke gennemføres med det samme.
(0)
UnityEditorInternal.ProfilerDriver:set_connectedProfiler(Int32)
UnityEditor.AttachProfilerUI:SelectProfilerClick(Object, String[ ], Int32)
Failed to connect to player ip: 192.168.1.37, port: 55510
UnityEditorInternal.ProfilerDriver:set_connectedProfiler(Int32)
UnityEditor.AttachProfilerUI:SelectProfilerClick(Object, String[ ], Int32)
The error comes right away. It’s not like it takes a minute or so before getting an error (like it does when attempting to connect to incorrect IP address).
I have been looking in the admin settings for our wireless router, but have found nothing in there to that should be preventing my laptop from connecting to the Xbox (and after all, the game IS running on the Xbox One).
Any ideas about how to get the Unity editor to connect to the profiler?
Still no luck. Have enabled all capabilities. Have of course built using Development Mode from Unity, and is run as “Debug” from Visual Studio. Is using Unity 5.3.4f1 Personal.
I can see from the admin interface of my wireless router that the Xbox One in dev mode have requested 2 IP addresses. I have tried connecting the profiler to both of them, but none of them responds. The Xbox is connected using wired connection, but my laptop is connected using wireless connection. I guess I should try with using wired connection (just need to get an adapter first). But other suggestions are very welcome.
Thanks for your suggestion. Current state of testing is this:
The GOOD news: Profiling now works, by changing from ‘listen’ to ‘connect’. It connects perfectly to the Unity profiler on my PC.
The BAD news: The latest version of the Dev Mode Activation app on Xbox One breaks some stuff. Among other things graphics are only displayed on half of the screen, and the scene which I want to benchmark simply crashes (it used to run without crashing and rendering full screen, but just with low framerate).
So I haven’t really made progress with the profiling thing yet WIll come back with more info later…
With respect to all these profiling issues, I just noticed the following two things on the official Xbox dev mode page :
“In particular, system performance in this preview does not reflect system performance of the final release.”
“Universal Windows Apps on Xbox One devices are restricted from binding to ports 49152-65535. Binding to these ports may appear to succeed at run-time, but network traffic may be silently dropped before reaching your application.”
This sounds very much like the solution to an issue I’m having, but I can’t find this file anywhere in the entire project or solution - has that changed?