Adam's Lair Forum

game development and casual madness
It is currently 2020/02/25, 06:10

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 47 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
 Post subject: Re: Untitled Beat 'em up
PostPosted: 2015/02/10, 13:43 
Veteran Member
Veteran Member
User avatar

Joined: 2015/01/07, 09:58
Posts: 102
Location: Sweden
Role: Hobbyist
Adam wrote:
The first two-or-so seconds look awesome, but I can't get any further. There seems to be some kind of problem with graphics.

At first, the whole program was shut down by my NVidia driver, prompting me with a message box that "the program is using features beyond my hardware capabilities", and then, after updating my driver, it started, but was so slow (2-3 FPS) that it seems obviously to fall back on software rendering. :S

Now, I don't know what exactly you do to trigger this, but usually it's some shader, and maybe a RenderTarget format or similar. I've uploaded my logfile and perflog, so you can have a look at my hardware and performance data.

Maybe you can create a minimal standalone program that uses your Rendering setup (Rendertargets, Shaders, ...) with a test Scene (mostly empty) and upload it somewhere so me and others can test it on their machines and see if we can isolate the problem?

By the way, did you use the export feature of the editor for your .zip file? If so, you have discovered a new bug, because it didn't ignore the hidden .git directory. :D Will fix this ASAP.


* That's great to hear actually. Just the kind of problems I want to get rid of :)
* I did zip it myself, so I guess I missed the git folder.
* I'll look into the shaders, as you say there's probably something not supported on your device. I'm not super great with opengl so it's likely some stupid simple mistake.

Thanks for testing!

Edit: Going to test on my other laptop now, it's a bit older than my desktop PC so it might not work there.
Edit 2: Worked fine on my old PC... Though I could see that the font I was using was replaced by some other font. Is there anything I have to do to include the real fonts if they aren't installed on the system?


Top
 Profile  
 
 Post subject: Update: new demo
PostPosted: 2015/02/10, 14:19 
Veteran Member
Veteran Member
User avatar

Joined: 2015/01/07, 09:58
Posts: 102
Location: Sweden
Role: Hobbyist
I added a new file to dropbox. I've removed some of the stuff using a very questionable shader that I added yesterday. I got it to run on my old laptop, but the framerate was pretty bad. There's a lot of room for performance tweaks but that will have to wait.

Adam, what kind of system are you running at? It may just be that the game is very unoptimized at this stage. I have a new gaming rig so I expect it to run a bit better on my end :)

Anyways here's the new url: https://www.dropbox.com/s/zu7necn6uim4phn/TID%20-%20Alpha%20Playtest.zip?dl=0

Also noticed that the old file contained all my raw assets for the game... not quite optimal :P So it's about 50 megs smaller now too!


Top
 Profile  
 
 Post subject: Re: Update: new demo
PostPosted: 2015/02/10, 14:42 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
skoggy wrote:
Edit 2: Worked fine on my old PC... Though I could see that the font I was using was replaced by some other font. Is there anything I have to do to include the real fonts if they aren't installed on the system?


If you select a font family from the dropdown menu when editing a Font Resource, the Font will be dynamically loaded from the system library and fall back to a generic one, if that isn't available. If you want to actually embed a Font into your project, just DragDrop the .ttf file into the Project View and it will be available everywhere. For non-"standard" Fonts, you should always do this.

skoggy wrote:
Adam, what kind of system are you running at? It may just be that the game is very unoptimized at this stage. I have a new gaming rig so I expect it to run a bit better on my end :)


I have a gaming rig too, although it's a little dated by now. In any case, I'm pretty sure that it shouldn't run that slow on any machine, except if there's something seriously bad going on - 340 ms average for rendering of a single frame is very suspicious.

That said, with the new version, I'm getting this driver error:
Code:
---------------------------
NVIDIA OpenGL Driver
---------------------------
An application has requested more GPU memory than is
available in the system.
The application will now be closed.


Error code: 6
Would you like to visit http://nvidia.custhelp.com/app/answers/detail/a_id/3553 for help?
---------------------------
Yes   No   
---------------------------

...in an error dialog that clearly isn't related to Duality or .Net, so this is originating outside the application.

Here is my new logfile and here are my system specs, as written by the NVidia Control Panel.

Can we get some input from others here?

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
 Post subject: Re: Update: new demo
PostPosted: 2015/02/10, 14:58 
Veteran Member
Veteran Member
User avatar

Joined: 2015/01/07, 09:58
Posts: 102
Location: Sweden
Role: Hobbyist
Adam wrote:
skoggy wrote:
Edit 2: Worked fine on my old PC... Though I could see that the font I was using was replaced by some other font. Is there anything I have to do to include the real fonts if they aren't installed on the system?


If you select a font family from the dropdown menu when editing a Font Resource, the Font will be dynamically loaded from the system library and fall back to a generic one, if that isn't available. If you want to actually embed a Font into your project, just DragDrop the .ttf file into the Project View and it will be available everywhere. For non-"standard" Fonts, you should always do this.

skoggy wrote:
Adam, what kind of system are you running at? It may just be that the game is very unoptimized at this stage. I have a new gaming rig so I expect it to run a bit better on my end :)


I have a gaming rig too, although it's a little dated by now. In any case, I'm pretty sure that it shouldn't run that slow on any machine, except if there's something seriously bad going on - 340 ms average for rendering of a single frame is very suspicious.

That said, with the new version, I'm getting this driver error:
Code:
---------------------------
NVIDIA OpenGL Driver
---------------------------
An application has requested more GPU memory than is
available in the system.
The application will now be closed.


Error code: 6
Would you like to visit http://nvidia.custhelp.com/app/answers/detail/a_id/3553 for help?
---------------------------
Yes   No   
---------------------------

...in an error dialog that clearly isn't related to Duality or .Net, so this is originating outside the application.

Here is my new logfile and here are my system specs, as written by the NVidia Control Panel.

Can we get some input from others here?


This is odd. I heavily doubt that my application is using more memory than your gfx-card can handle...

From the nvidia link: "It can also be caused by application sending to the Graphics Card a command stream that can not be broken into small enough pieces to be processed." I don't really know much about the internal workings of duality to know if this could be the issue...


Top
 Profile  
 
 Post subject: Re: Update: new demo
PostPosted: 2015/02/10, 15:17 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
skoggy wrote:
This is odd. I heavily doubt that my application is using more memory than your gfx-card can handle...


Same here. Total available is 2.5 GB, dedicated video mem 700 MB. I really doubt you're able to exceed this. There must be something else going on.

skoggy wrote:
From the nvidia link: "It can also be caused by application sending to the Graphics Card a command stream that can not be broken into small enough pieces to be processed." I don't really know much about the internal workings of duality to know if this could be the issue...


Pretty sure this is not the issue. I don't know what exactly they mean by "command stream", but Duality does only straightforward sprite batching and that's it. Even if you had thousands of sprites, that would still be far less to process than an arbitrary modern 3D game. :S

I'm going to poke around in your project a little and see if something turns up.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
 Post subject: Re: Update: new demo
PostPosted: 2015/02/10, 15:25 
Forum Addict
Forum Addict
User avatar

Joined: 2013/09/19, 14:31
Posts: 883
Location: Italy
Role: Hobbyist
Adam wrote:
Can we get some input from others here?

Maybe I'm late but for me it's going smoothly (no gamepad here but I let it go for a couple minutes).

log and perflog here.

_________________
Come on Duality's Discord channel. We have cookies! :mrgreen:


Top
 Profile  
 
 Post subject: Re: Update: new demo
PostPosted: 2015/02/10, 15:43 
Veteran Member
Veteran Member
User avatar

Joined: 2015/01/07, 09:58
Posts: 102
Location: Sweden
Role: Hobbyist
SirePi wrote:
Adam wrote:
Can we get some input from others here?

Maybe I'm late but for me it's going smoothly (no gamepad here but I let it go for a couple minutes).

log and perflog here.


Good to hear! What's the framerate like on your end?


Top
 Profile  
 
 Post subject: Re: Untitled Beat 'em up
PostPosted: 2015/02/10, 16:05 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
Quote:
Good to hear! What's the framerate like on your end?


Code:
--------------------[ TimeCounter ]---------------

Name                      Avg. Value    Min. Value    Max. Value         Samples
Duality\Frame:                 18.70          0.00       1120.63            1816


Quoting his perflog, it's slightly above 16.6 ms, but likely due to the loading spike with 1120 ms, so I'd assume a steady, VSynced 16 ms, i.e. stable 60 FPS.

Quote:
I'm going to poke around in your project a little and see if something turns up.


I think I've found the issue. Turns out, you probably did use all the available video memory, but not for obvious reasons. I've deleted all Assets except the shaders and rendertargets and cleared the FutureCity scene completely except the MainCamera and it still crashed. So it was them.

Next, I checked Texture and RenderTarget settings: Textures looking good, but as it turns out, all of your RenderTargets have Multisampling set to High. Your Application Data also had MultiSampleBackbuffer active, so that was multisamples as well. Now the default Antialiazing quality (See UserData) is set to High as well, which - on most modern, capable GPUs - means 16x MSAA. And unfortunately, MSAA isn't so straightforward when rendering to Texture using a RenderTarget. To pull this off, Duality needs to render to a multisampled offscreen buffer and then blit it to the Texture and resolve all the samples.

So let's do the math:

  • 32bpp BackBuffer, 16x MSAA, 1280x720 (internal)
  • 24bpp DepthBuffer, 16x MSAA, 1280x720 (internal)
  • 32bpp ColorFilterTarget, 16x MSAA, 1280x720 (internal)
  • 24bpp ColorFilterDepth, 16x MSAA, 1280x720 (internal)
  • 32bpp ColorFilterTarget, 1280x720
  • 32bpp ReflectTarget, 16x MSAA, 1280x720 (internal)
  • 24bpp ReflectDepth, 16x MSAA, 1280x720 (internal)
  • 32bpp ReflectTarget, 1280x720
  • 32bpp GUITarget, 16x MSAA, 1280x720 (internal)
  • 24bpp GUIDepth, 16x MSAA, 1280x720 (internal)
  • 32bpp GUITarget, 1280x720

Now I don't know what 16x MSAA will do in matters of memory, but I think you get the idea :D Worst case, it's a simple multiplication, then each of those super-filtered 32bpp textures would take up ~60 MB. Doubt it, but all that memory went somewhere after all. :idea:

Long Story short:

  • Deactivate "MultisampleBackBuffer" in your Application Data
  • Set "Multisampling" to "None" for all RenderTargets that don't need it. Leave it on "High" only on the one you're primarily rendering all your stuff into. (It will still be dependent on the actual User Data setting, "High" is relative to that setting)

I should probably implement some kind of warning for this, or change the default setting of RenderTargets regarding Multisampling. If it wasn't even obvious to myself before I got around to actually check this, then this sure qualifies as a trap. Sorry!

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
 Post subject: Re: Untitled Beat 'em up
PostPosted: 2015/02/10, 16:19 
Veteran Member
Veteran Member
User avatar

Joined: 2015/01/07, 09:58
Posts: 102
Location: Sweden
Role: Hobbyist
Adam wrote:
Quote:
Good to hear! What's the framerate like on your end?


Code:
--------------------[ TimeCounter ]---------------

Name                      Avg. Value    Min. Value    Max. Value         Samples
Duality\Frame:                 18.70          0.00       1120.63            1816


Quoting his perflog, it's slightly above 16.6 ms, but likely due to the loading spike with 1120 ms, so I'd assume a steady, VSynced 16 ms, i.e. stable 60 FPS.

Quote:
I'm going to poke around in your project a little and see if something turns up.


I think I've found the issue. Turns out, you probably did use all the available video memory, but not for obvious reasons. I've deleted all Assets except the shaders and rendertargets and cleared the FutureCity scene completely except the MainCamera and it still crashed. So it was them.

Next, I checked Texture and RenderTarget settings: Textures looking good, but as it turns out, all of your RenderTargets have Multisampling set to High. Your Application Data also had MultiSampleBackbuffer active, so that was multisamples as well. Now the default Antialiazing quality (See UserData) is set to High as well, which - on most modern, capable GPUs - means 16x MSAA. And unfortunately, MSAA isn't so straightforward when rendering to Texture using a RenderTarget. To pull this off, Duality needs to render to a multisampled offscreen buffer and then blit it to the Texture and resolve all the samples.

So let's do the math:

  • 32bpp BackBuffer, 16x MSAA, 1280x720 (internal)
  • 24bpp DepthBuffer, 16x MSAA, 1280x720 (internal)
  • 32bpp ColorFilterTarget, 16x MSAA, 1280x720 (internal)
  • 24bpp ColorFilterDepth, 16x MSAA, 1280x720 (internal)
  • 32bpp ColorFilterTarget, 1280x720
  • 32bpp ReflectTarget, 16x MSAA, 1280x720 (internal)
  • 24bpp ReflectDepth, 16x MSAA, 1280x720 (internal)
  • 32bpp ReflectTarget, 1280x720
  • 32bpp GUITarget, 16x MSAA, 1280x720 (internal)
  • 24bpp GUIDepth, 16x MSAA, 1280x720 (internal)
  • 32bpp GUITarget, 1280x720

Now I don't know what 16x MSAA will do in matters of memory, but I think you get the idea :D Worst case, it's a simple multiplication, then each of those super-filtered 32bpp textures would take up ~60 MB. Doubt it, but all that memory went somewhere after all. :idea:

Long Story short:

  • Deactivate "MultisampleBackBuffer" in your Application Data
  • Set "Multisampling" to "None" for all RenderTargets that don't need it. Leave it on "High" only on the one you're primarily rendering all your stuff into. (It will still be dependent on the actual User Data setting, "High" is relative to that setting)

I should probably implement some kind of warning for this, or change the default setting of RenderTargets regarding Multisampling. If it wasn't even obvious to myself before I got around to actually check this, then this sure qualifies as a trap. Sorry!


Wow, thanks for looking into this! :) I had actually already turned off all the multisampling before I read this, but good to hear you found the issue. I can upload another version in a minute and it may hopefully run then.

Can you actually just open the game in the Duality editor just from my published app? Seems scary if people found out they could do that once the game is released...


Top
 Profile  
 
 Post subject: Re: Untitled Beat 'em up
PostPosted: 2015/02/10, 16:24 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
Double-Posting for Game Feedback:

So, after this is solved I've managed to get your game running by doing the suggested changes myself on the latest download version. First Impression is very good! You have no idea how big the effect of that some-seconds short "intro" with the location text is - immediately feels like a real game. The music fits really well to both the SciFi setting and has a driving energy that makes me want to run forward and slash everything in my path. Also transports a nice modern arcade-y feeling, but maybe that's just me. :D

Now, there are some issues that I encountered, mixed with some other random observations:

  • Movement and Camera feel very good, but I want to be able to move while slashing. Being "locked in place" when attacking makes me want to not attack, but just run around instead.
  • When trying to escape the current fighting frame, the character isn't restricted smoothly, but "jitters" back into the screen.
  • That train rocks. Not only from its look, but also because it's nicely dopplered whoosh-by sound fits nicely into the atmosphere.
  • Sometimes the enemy AI gets it all wrong and wanders off the screen - or at least I assume they do, because I've defeated seemingly all of them and have to wait a minute until the last one comes back, wherever he was. Can they be locked to the same region as the player?
  • Lighting, Flickering Street Lights, Neon Stuff: Top! Really sets a great mood here.
  • Subtle but very good use of the parallax effect.

Overall: Except for the issues, thumbs up so far! Looking forward to the following versions :)

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 47 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group