Product Chat / Could somebody test my level and give some suggestions on how to boost fps

Author
Message
mguy1122
Game Guru Backer
11
Years of Service
User Offline
Joined: 5th Mar 2013
Playing: witcher 3
Posted: 9th Jan 2016 01:31
I have my level somewhat build but it still needs enemies, wildlife and objectives. The problem I'm having is it doesn't run very well. I kept it linear and tried to reduce trees by using billboard ones in the background but it still runs like a one legged dog and once I have the characters in place I'm afraid that no one will be able to play it. If someone would be willing to try it out and maybe see what might be slowing it down I would be grateful. Please ignore the voiceover place holders, they need work =)

Here's the link:

https://mega.co.nz/#!ac8xmKYQ!ewhQm2zBeDIAovRDnY4KLHN1k0lRFP37wPHy5jD1Bjk

Attachments

Login to view attachments
PM
Bloodknight
14
Years of Service
User Offline
Joined: 22nd Apr 2010
Location:
Posted: 9th Jan 2016 02:52
I am struggling to even load the level, after about 3-4 minutes and 75%ish of the loading bar it just stopped loading.

update, level loaded after 10 minutes. Idiot in the chair clicked main menu instead of resume so now i'm waiting another 10 minutes.

However, i'm guessing that might be part of the problem, without having an real ability to debug its hard to tell what things are causing the slowdowns apart from the sheer number of assets being loaded and rendered.

Aggressive LOD works is required in any game/engine to reduce drawcalls and rendering overhead, gameguru is also missing a few optimisation techniques right now so some methods are currently unavailable.

just out of curiosity, have you run the standalone game, and does the performance significantly degrade vs the gameguru editor running the game?
PM
Bloodknight
14
Years of Service
User Offline
Joined: 22nd Apr 2010
Location:
Posted: 9th Jan 2016 03:27
Not sure what your specs are, but i was getting 80fps facing away from most of the level and about 35 fps average running around the level, which seemed about right considering the quantity of assets in the level.

Things that massively kill performance for very little gain or benefit
animated trees, and the strain they add to shadow processing.
Most post processing has a performance hit, of these DoF is possibly the most ugly, i have yet to meet a decent DoF shader as far as performance is concerned.
And grass... the more vegetation you have cluttering your terrain the more you take a hit on performace.

thin out your grass, remove DoF , and tinker with shadows till you find a balance you like, this should help a bit.
PM
mguy1122
Game Guru Backer
11
Years of Service
User Offline
Joined: 5th Mar 2013
Playing: witcher 3
Posted: 9th Jan 2016 17:06
Thank you for the input bloodknight, the standalone and the level in the editor have about the same fps. I get about a maximum of 35 frames per second running around but it's usually around 20. I added some characters and it dropped to about 8-15 fps which makes it unplayable/ unenjoyable. I have a amd r9 290, 8gb ram and a i5 processor so it worries me that somebody with a lower spec computer wouldn't be able to play the game at all. I will give your suggestions a shot and see how much of a boost I can get. Thanks again
PM
mguy1122
Game Guru Backer
11
Years of Service
User Offline
Joined: 5th Mar 2013
Playing: witcher 3
Posted: 9th Jan 2016 18:20
One more thing, since I went back to my level. Is there a way to turn off all the animations on the trees in bunches or do I need to do everyone individually? Also, ones I had set as static are still playing their animations. isn't that supposed to stop the animations or does it not do the trick?
PM
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 10th Jan 2016 14:18 Edited at: 10th Jan 2016 15:03
You have to do them individually unfortunately. I have spent many hours painstakingly going through trees in the past Better to place one tree, set as needed, then clone it for the rest. It's normally faster to delete the trees and start over than try to edit them. I have also noticed animated trees still animate when set as static. Even trying to stop the animation in lua has no effect, so the only way to avoid it at the moment is to not use them.

I'm downloading your demo as I type so will report back if I see anything that might help speed wise. Really though, it's normally just a case of tinkering with quality settings and such, until you can get a balance between look and speed.

Edit - After trying your game I can see you have already done some optimising of draw distance and such. It looks pretty cool actually and I enjoyed my little walk around the scene. It looks very nice. Now the bad news. I get about 10 fps up to about 20 on highest settings. 12-30 on medium and about 18-34 on lowest. I noticed about 10 fps or so extra if I turned off grass, but only tested that on normal settings. It's definitely a good idea to lower you grass coverage, although that will not give a massive boost in comparison to turning it off.

The only thing I can suggest is to play with terrain LOD and lower them as much as you can getaway with. You can gain some speed, the only issue is sometimes you may see tears in the terrain. Easily hide-able in general, but annoying non the less.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
Bloodknight
14
Years of Service
User Offline
Joined: 22nd Apr 2010
Location:
Posted: 10th Jan 2016 17:14
I'm wondering if theres a way to group objects into a category using lua, so that you can apply a group action to properties, even if its cycling through a list of entities.

eg in this instance, animated trees being added to an array of animated tress so that you can just loop through them and turn them on or off.

TBH up to now all my work has been simple placement and development of a level with additional game specific details being left till later, that and ive never really used lua before so i'm bracing for the inevitable new language syntax and wth is going on errors you always get with a new code language.


PM
mguy1122
Game Guru Backer
11
Years of Service
User Offline
Joined: 5th Mar 2013
Playing: witcher 3
Posted: 10th Jan 2016 18:52 Edited at: 10th Jan 2016 18:59
I'm glad you enjoyed the level dvader, I was going for a post apocalyptic/turok type game. Although, I had to remove the dinosaurs for the moment because it was running so bad. Once I get it optimized it will have objectives, characters and story to it(and of course more levels). 10-20 fps just isn't fun to play.
Quote: "You have to do them individually unfortunately. I have spent many hours painstakingly going through trees in the past Better to place one tree, set as needed, then clone it for the rest. "

I was afraid of that. After going back and looking at my level most of the trees are a animated so if I'm not able to turn them off I'm probably going to gut the entire level
Quote: "I'm wondering if theres a way to group objects into a category using lua, so that you can apply a group action to properties, even if its cycling through a list of entities."

This would be very useful!
Quote: "TBH up to now all my work has been simple placement and development of a level with additional game specific details being left till later, that and ive never really used lua before so i'm bracing for the inevitable new language syntax and wth is going on errors you always get with a new code language."

This is pretty much my story, I've spent most of my hours building something I like and then destroying it on accident never getting to the mechanics part of the game. Or modeling for one type of game and deciding I don't like it and starting over
PM
Bloodknight
14
Years of Service
User Offline
Joined: 22nd Apr 2010
Location:
Posted: 10th Jan 2016 19:28
Quote: "Or modeling for one type of game and deciding I don't like it and starting over"

The curse of the creative mind lol
I'm pretty sure everyone here feels that pain
PM
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 11th Jan 2016 10:34 Edited at: 11th Jan 2016 11:15
Quote: "eg in this instance, animated trees being added to an array of animated tress so that you can just loop through them and turn them on or off."

Animated trees do not stop animating when you use the stop command in lua. At the moment, I'm sure it must be a bug. Once that is fixed, you could cycle through objects and do this. Perhaps, you could set the trees animation to a single frame, therefore stopping the anim. I'm not sure without having a try, in the past as mentioned, I have found that animated trees seem hard coded and little can be done to change them.

Just had a go and freezing the frame works. Put this script into any animated tree and it should stop it animating. There's nearly always a workaround



If you want to avoid adding it to each single tree, you will have to add a loop to count through your trees and apply that script to another object.

May as well add one, lol. I can report that with just 18 trees, I get about 10fps extra on default settings. So it hopefully should help speed things along nicely. It should speed up your level a fair bit. I start from 2 as entity 1 is my start marker and you normally want to avoid messing with that. You could of course add a switch to animate them again, for users with a FAST pc.

Finally after that productive few minutes scripting Have you played with occlusion much? I didn't notice any popup, bar where it is clipped in the distance. That means you either have it set low, or off (normally). Have you had any success with it? I also did an occlusion script (free on the script forums) which sped up my levels considerably. This was before Occlusion was added, but it may work better for you as it is a bit more tweakable than the built in occlusion.

I had over 5000 trees in that example. So it was doing well to keep above 30 fps. I got over 40 with the c++ version.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
Belidos
3D Media Maker
9
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 11th Jan 2016 11:03 Edited at: 11th Jan 2016 11:04
Quote: "Or modeling for one type of game and deciding I don't like it and starting over"


I'm the same at the moment, I can't seem to settle on one theme, I've so many ideas floating around in my head, and whenever I see something cool posted here I add to the collection of ideas.

My original theme was going to be a straight up zombie shooter, which developed into a quest based horror mystery, then back to a walking dead style story driven game, and now i'm making a road side motel model set because I watched psycho the other day and thought ooh I could make a horror thriller based around that.

I'm also toying with a medieval fantasy based game based on the story of king Arthur, and having recently seen some of the scifi models posted lately am thinking of a story driven game based on King Arthur in the future with space knights and alien sorcerers.

It's like a big jumbo puzzle in my head, with most of the corners and half the edges missing.
mguy1122
Game Guru Backer
11
Years of Service
User Offline
Joined: 5th Mar 2013
Playing: witcher 3
Posted: 11th Jan 2016 16:24
Quote: "Finally after that productive few minutes scripting Have you played with occlusion much? I didn't notice any popup, bar where it is clipped in the distance. That means you either have it set low, or off (normally). Have you had any success with it? I also did an occlusion script (free on the script forums) which sped up my levels considerably. This was before Occlusion was added, but it may work better for you as it is a bit more tweakable than the built in occlusion."

I did try to mess with the occlusion, it gave me a lot of pop in but only made a frame or two of difference. I actually ended up removing all the trees from my level and just using static ones. It doesn't look too bad but my level looks more forest like that overgrown jungle, the fps did jump up two about 50-60 fps but I haven't totally populated it with foliage so we'll see what happens. I will give that script a try on the old map and see if I might be able to salvage it. Thanks!
Quote: "and now i'm making a road side motel model set because I watched psycho the other day and thought ooh I could make a horror thriller based around that. "

That sounds like it could make a good survival horror. Texas chainsaw massacre made me think of a game where you get captured and you have to escape the basement torture chamber and sneak through the house alien isolation style passed leather face and the other inbreds to escape the farm.but, then I realized I'm terrible and making and rigging characters so having the models to do it killed the idea
PM
Anubis
12
Years of Service
User Offline
Joined: 6th Nov 2012
Location: 010011100110010101110100011010000110010101110010011011000110
Posted: 12th Jan 2016 12:19 Edited at: 12th Jan 2016 12:22
Howdy,

Removing animation from (a) tree(s) is (relatively) easy.
You can remove it for all trees at once, after a few edits in the .fpe file(s). (and removing the DBO file)
Make sure to backup the files (you wish to edit) before you begin.
Also.. it's best to copy and rename the tree, but that only works/is handy for future instances.. not the ones that are already in your map.

What to do.. for this example i use "Tree 8 (animated).fpe" from the foliage directory

First line to edit is the effect line.. change Character_basic.fx to Entity_basic.fx
Second.. REM Resetlimbmatrix.. is of no use when it's static.. (at least this is true in my case, no distortion after LM)
Third.. REM ALL below ;Animation



And yes, i also REMmed the ;AI AIInit and AIDestroy.. since these won't be used anyhow.

After saving the file, also delete tree08.dbo.. common use after changing files.. may not be needed anymore.. but old habbits die hard.
Now, if you start your map, all trees (tree08 instances in this example) will be without animation.
Textures look good (since you changed the Effect.fx line) and no distortion/scaling issues after Lightmapping.

Another workaround, but that's working with a bug i guess..
Set Playanimineditor = 0
It will stop the animation in the editor, but also in testgame the animations are stopped..
This is the bug i think.. it should animate in testgame i presume..
So.. i wouldn't recommend this quickfix, since it only works as long as the bug is in.

Last note: if steam updates your files, i don't know if your edits will be save.
So this is a fix before saving to standalone..
Or.. delete all current trees.. and use your Non animated (edited) Copy of the Animated tree..
The custom files won't be deleted or changed after steam performed it's update.

Grts,
Anubis
-+- There are only 10 types of people in the world. Those who understand binary, and those who don't -+-
[Chipset:X58 CPU:i7.950.64 GPU:HD7950 RAM:12GB DDR3 WIN:7.x64 PRO]
PM
Pirate Myke
Forum Support
14
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 12th Jan 2016 14:06 Edited at: 12th Jan 2016 14:07
The Playanimineditor = 1 flag was to allow animation from anim=0 to play in the editor, test game, and build game without the use of scripts. This was by design.

The way Anubis is disabling the animations should be the best. Thank you for the instructions.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit

DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 12th Jan 2016 16:18
Only if you don't want any anims at all. You may want a few animated objects around still. Plus, I personally hate editing the config if at all avoidable. It becomes a nuisance when working on several projects. Horses for courses I suppose.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.

Login to post a reply

Server time is: 2024-11-25 07:35:04
Your offset time is: 2024-11-25 07:35:04