XBOX ONE UWP performance?

Post » Wed Nov 01, 2017 3:17 pm

Alright so i'm having trouble trying to get C3 exported projects to load in VS2017 for the new update. I usually just use VS2015 as it just loads the project instantly. Anyone else having this issue?

Image
B
98
S
35
G
11
Posts: 289
Reputation: 13,082

Post » Wed Nov 01, 2017 7:16 pm

@Cryptwalker I see both C2 and C3 got hotfix patches to today's beta releases, maybe try exporting again? Otherwise, does the below fix work? I just exported from the lastest C2 beta r248 and it's still working for me.

Studio Mercato wrote:I'm using VS2017 with C2, so that's working fine. I've given this tip to numerous people, but maybe the reason the .sln doesn't open is because of the target SDK version. Open the .jsproj file in Notepad, search for <TargetPlatformVersion>, and replace the 10240 with whatever SDK you have installed (14393, 15063, 16299, etc.) Make sure to leave the last number at .0 so it becomes 10.0.16299.0 etc. You can leave the <TargetPlatformMinVersion> at 10240. Save the file and then try to open the .sln in VS2017 again.
B
17
S
8
G
4
Posts: 56
Reputation: 3,483

Post » Wed Nov 01, 2017 9:15 pm

@Studio Mercato

Thanks but still not working. I did noticed in the project file, the ToolsVersion and VisualStudioVersion were both set to 14, however the current latest version of VS2017 is at 15.2. I made the updates, and still....same issue. Not sure what the heck is going on here. Weird thing is, it happens with ALL my projects...even new ones that i made specifically for testing. Any ideas? I've been searching the web but been getting all these vague fixes which do pretty much nothing. I'm wondering if it has anything to do with VS2017 now...
B
98
S
35
G
11
Posts: 289
Reputation: 13,082

Post » Wed Nov 01, 2017 11:58 pm

Figured it out!!!! So yeah...turns out it was my installation of Visual Studios 2017 after all. I noticed there was this ominous yellow flag at the top right of the screen in Visual Studios. Not that i cared much for it but i clicked on it anyways and it notified me of an updates for Visual Studios 2017. Clicked on that and it updated Visual Studio Installer. When that finished, Visual Studio Installer ran and allowed me to selected different Workloads Components to install like UWP and other components. So i did that...it all finished. I rebooted...loaded up my exported C3 project and.....it loaded now!!!!

But the build still failed since my SDK versioning was incorrect - even though it actually wasn't. I have 10.0.16299.15 installed but it wasn't reading that. So i did what Studio Mercato suggested and changed the last diigits to a zero : 10.0.16299.0 in the propteries. Then it worked! Hell yes! All is good now 8-) .

Gonna deploy this on the Xbox One when i get home..... (yeah i spent half the day at work messing with this... :P )
B
98
S
35
G
11
Posts: 289
Reputation: 13,082

Post » Tue Nov 07, 2017 12:43 am

huntjn wrote:One thing I've discovered today is that any time the game tries to read an input from the controller, it causes a hiccup in performance. Whenever I press a button, move the joystick, or whatever. It is unclear if this is something in my game's code or something else - for example, if I spin the right joystick around rapidly (which in my game, the right stick does not control anything), performance drops to the point where the game looks completely frozen. Same thing if I keep pressing left or up on the d-pad (also, no code in my game that references these inputs). But, if I stand still with enemies coming at me and dont press any buttons, performance is actually okay for the most part.

Also unrelated to performance but also weird, pressing the B button suspends the application. Anyone else run into this?


I've been having the exact same issue with performance hiccups based on user input. It happens on desktop Edge as well, in both public & preview releases. I've been putting together a simple endless runner to test XB1 performance specifically, and the hiccup on any user input causes a noticeable hitch that isn't acceptable, and I had/have the same issue with my previous C2 project but hadn't traced it back to player input. Based upon testing after I read this, that does seem to be the issue there as well. Not sure if it's an Edge issue or a C2 in Edge issue, but it's there.
B
87
S
47
G
25
Posts: 535
Reputation: 21,777

Post » Tue Nov 07, 2017 10:29 pm

@digitalsoapbox What kind of numbers are you guys talking about? In Crystal Brawl, on player input (so characters start moving) it drops maybe 2-5fps. I figure this is normal due to the extra physics and animations kicking in. No particularly noticeable hitch to me. Are you guys seeing much greater frame drops?
B
17
S
8
G
4
Posts: 56
Reputation: 3,483

Post » Wed Nov 08, 2017 4:17 pm

BTW folks, i've started a thread on the Microsoft Dev Center forums regarding the Falls Update Expanded Memory Resource for HTML5 based apps if anyone interested.
B
98
S
35
G
11
Posts: 289
Reputation: 13,082

Post » Wed Nov 08, 2017 11:50 pm

@Cryptwalker Nice, I also added a reply.

FYI, this subforum is Xbox specific:
https://social.msdn.microsoft.com/Forum ... boxlivedev
Last edited by Studio Mercato on Fri Dec 08, 2017 8:15 am, edited 1 time in total.
B
17
S
8
G
4
Posts: 56
Reputation: 3,483

Post » Fri Nov 10, 2017 2:18 pm

Studio Mercato wrote:@digitalsoapbox What kind of numbers are you guys talking about? In Crystal Brawl, on player input (so characters start moving) it drops maybe 2-5fps. I figure this is normal due to the extra physics and animations kicking in. No particularly noticeable hitch to me. Are you guys seeing much greater frame drops?


It occurs where there are no physics at all, where there are no animations, and with no objects responding to player input. As soon as player input occurs, every second or so, even after input has stopped, there is an obvious hitch.

For example:
Spawn a small sprite with no animations (just a green square, for example), behaviors, or shaders off-screen to the right every second or so, and move them across screen to the left (self.X = self.X - 100*dt), deleting them when X position < 0 + self.Width/2. Make sure the Gamepad object is in the project. As soon as there is player input, repeated hitching will start. With so little going on, it's had to justify any framerate dip at all, and because it only happens after player input, it's unlikely that it's connected to anything going on in-game outside of the input.

The issue, as I said earlier, is also noticeable on desktop Edge, though it takes a heavier load to become more pronounced that I'm fairly certain is not connected to anything that has to do with physics. In Sombrero, which is much heavier than the above example, all physics run fine and there are no hitches in framerate until player input starts (though performance is overall much lower than in NW.js).

UPDATE 11/13/2017: The latest Dev Beta OS released to Devkits over the weekend reduces the issue somewhat, but it's still there. Seems Microsoft is working on the gamepad issue.
B
87
S
47
G
25
Posts: 535
Reputation: 21,777

Post » Thu Nov 16, 2017 1:07 am

Studio Mercato wrote:@digitalsoapbox What kind of numbers are you guys talking about? In Crystal Brawl, on player input (so characters start moving) it drops maybe 2-5fps. I figure this is normal due to the extra physics and animations kicking in. No particularly noticeable hitch to me. Are you guys seeing much greater frame drops?


So just wanted to give an update on my progress with this. I decided to test a much smaller project of mine on Xbox and it actually ran really smoothly (which confirmed for me that it wasn't really a UWP problem or C2 problem necessarily, but that it's the code in my game that is not optimized for it.) So I made a copy of my project to be designated as the "Xbox Version" and started going through and removing all code and objects in my game that were unnecessary. For example, it was initially designed with PC in mind, so I had code for keyboard/mouse controls as well as gamepad controls. I have since removed everything that had to do with keyboard/mouse, and also removed any "Has Gamepads" check, since I know on Xbox I do not need to check if they have gamepads connected, since they always will. Since I removed all of that, I've seen significant performance increases and it no longer hangs up on player input. It still isn't quite good enough to be playable as there are still some performance drops every few seconds, but it's definitely way better. I can't really say if it was the keyboard/mouse code specifically that was causing the issue or just the fact that I made my project smaller, but either way I was able to resolve it for my game.
B
12
S
4
Posts: 20
Reputation: 890

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest