Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UWP on Xbox One performance

Discussion in 'Windows' started by Flarup, May 31, 2016.

  1. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    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 1920*1080 resolution when using a standalone PC build. Even the UWP build runs about 10 FPS on this laptop in 1920*1080 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?


    Kind regards,
    Uffe Flarup
     
  2. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    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?
     
  3. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    Hi again,


    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)

    connect failed
    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?


    Kind regards,
    Uffe Flarup
     
  4. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    Weird. Did you enable all network related capabilities in the application manifest?
     
  5. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    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.
     
  6. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,875
    You could try this:
    * In Visual Studio solution, locate Data\PlayerConnectionConfigFile
    * It should contain something like listen ...
    * Replace that line with connect <the ip of your PC where Unity editor is running>, basically this will force the UWP application to connect to Editor instead of editor connecting to UWP application

     
  7. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    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...
     
  8. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    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."



    Full info:

    https://msdn.microsoft.com/en-us/windows/uwp/xbox-apps/known-issues?f=255&MSPPError=-2147217396
     
  9. projectorgames_unity

    projectorgames_unity

    Joined:
    Oct 15, 2018
    Posts:
    107
    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?
     
  10. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    I believe it is now in the boot config file.