Jump to content

Recommended Posts

Posted

I'm relatively new to the Missions editor but have some of the basics down I believe. I'm probably 33% done with my first mission but am wondering if it's all in vain, or a mess to clean up at minimum since I grouped all the default objects together and the starting airfield has A LOT of stuff going on... I understand that static objects take obviously way less resources than linked entities but there are a lot of static objects here...

 

I'm currently making a Ju 87 scripted campaign over Stalingrad. In regards to static objects like towns, bridges, af objects - do they really impact performance if they are all present on the map? Do I or should I delete objects out of the mission range?

 

I know that the timer function is used to set delays needed for certain tasks. But are they also used to lighten the load on the system? For example at mission start rather than have a bunch of tasks start immediately on load should I use delays of x amount of seconds to spread them out? This kind of naturally is happening anyways but thought I'd ask.

 

I searched the few il2 editor pdf guides that are pinned that everyone recommends. I couldn't find anything about performance or optimization other than dealing with multiplayer/server stuff which is irrelevant in my case.

 

Posted

 

 

In regards to static objects like towns, bridges, af objects - do they really impact performance if they are all present on the map? Do I or should I delete objects out of the mission range?

 

Not needed in my opinion, but I'm running the game from an SSD. I don't know if loading all buildings makes a bigger difference for HD users.

 

 

 

For example at mission start rather than have a bunch of tasks start immediately on load should I use delays of x amount of seconds to spread them out?

 

The recommendation to add delays between mission begin and other logic comes from a guide for the RoF editor. No idea if it's still really needed or not.

 

Costly things for SP are AI planes, the bigger the plane the more impact it has (bombers > attack planes > fighters). It's probably due to a mix of simulating engines and running gunner AIs. Then AI vehicles (tanks, especially), followed by artillery pieces (AT and AA guns). Smoke effects can have an impact on rendering, but that depends on the hardware and quality settings.

Posted

Thanks for the intel. Yeah I am running not the greatest system, FX8350 with GTX970 and yeah normal HD. The load time for this game always seems fine to me relative to other games. The one thing I notice on my mission is a delay of maybe 1-2 seconds for SOME static objects to appear around me. I don't view that as game breaking though really. Just something to note.

 

In my current first mission I have 11 other stuka bros with me in parking on a field with MANY static objects as well and a couple 109s flying overhead, couple yaks in a far away land and a few HE111's also in air. When adding more AI planes I'll keep an eye on my frames once I get altitude. I always take a performance hit on the ground, 35fps if a lot of stuff is going on, but get back up to 60fps in the air. So it's hard to judge sometimes. But I will keep the bigger vs. smaller planes into account like you said, that makes complete sense with the AI gunners and multiple engines. It will be interesting when I start "decorating" Stalingrad. I want lots, LOTS of action down below...we'll see how that does performance wise.

 

I made 4 groups of 3 stukas take off from the same field on 2 separate runways....yeah....that was a whole thing to figure out hahaha.

 

I haven't gotten too deep into the editor but I'm sure there is a way to deactivate linked entities like AAA, Tanks, Fighter from using system resources and then activate them once the player flys within a certain range like 5-10km or something?? Assuming you could do the same thing with smoke/fire fx on villages cities. I imagine that type of optimization might have better impact than deleting static objects in distant lands.

Posted

About removing static meshes from outside the "play area" in a mission: I forgot to say that the main benefit is to reduce the size of the textual mission file (with extension .mission).

Mission data is stored in two files: .mission and .msnbin. The game always uses .mission if it finds it. The catch is that the game (and the editor) is very slow to load missions from that file. To avoid that problem, you have two options: minimize file size by manually removing unneeded static meshes, or remove the .mission file to force the game to load the msnbin file instead, which is much faster.

 

Why the game uses the .mission file when the .msnbin file is also available is something I've always wondered.

 

 

 

I haven't gotten too deep into the editor but I'm sure there is a way to deactivate linked entities like AAA, Tanks, Fighter from using system resources and then activate them once the player flys within a certain range like 5-10km or something?? Assuming you could do the same thing with smoke/fire fx on villages cities. I imagine that type of optimization might have better impact than deleting static objects in distant lands.

 

Indeed, that's a significant optimization that many people use. It's the key to providing rich environments. It's not too hard to do for units that don't move (canons). It's somewhat more tricky for tank columns and planes, because of the issue of where they should appear. If they are moving, the location of appearance should depend on how far they should have travelled while "invisible". In many situations it's OK to ignore that problem and just spawn them at some fixed place.

Posted (edited)

Netscape, my Ju-52 missions have MUCH more going on, and no performance issues.

I also ran a 970 with my i2500k until very recently.

 

What you describe sounds pretty light to my point of reference.

I imagine your CPU just isn't up to the task...time for an upgrade.

Edited by Gambit21
Posted

Here is a trick to decide whether you are having performance issues with rendering, or with AI routines: When you play your mission, accelerate time. If you can't see a difference between normal and X2, you have too much going on. An alternative is to save your mission as a multiplayer mission and load it into DServer and look at the tick delay. The maximum acceptable is 20ms, and it's usually a good idea to stay well below that.

 

@Gambit21 The problem with that approach is that only people with the strongest CPUs will be able to play your missions. That's a choice obviously, but if one wants to make missions playable by all, it's good to at least test them on some "weak" CPU. Alternatively, one can use a variation of the acceleration test: See if you can notice a difference between X2 and X4. If yes, people with a CPU twice as slow as yours should be OK.

Posted

...

 

I haven't gotten too deep into the editor but I'm sure there is a way to deactivate linked entities like AAA, Tanks, Fighter from using system resources and then activate them once the player flys within a certain range like 5-10km or something?? Assuming you could do the same thing with smoke/fire fx on villages cities. I imagine that type of optimization might have better impact than deleting static objects in distant lands.

 

For an example of activating/deactivating AAA, see "Create Target Defences" in the IL-2 Sturmovik Mission Editor and Multiplayer Server Manual. That topic shows one way to handle activation/deactivation, but there are other ways that people use (you may even come up with your own way). 

Posted

Netscape, my Ju-52 missions have MUCH more going on, and no performance issues.

I also ran a 970 with my i2500k until very recently.

 

What you describe sounds pretty light to my point of reference.

I imagine your CPU just isn't up to the task...time for an upgrade.

I've  played a few of your missions. My mission example I gave definitely has just as much chaos going on at the airfield you start on... If I turn off Hud I get 10-15 more frames on the ground. I play with settings maxed. I should note that when I reference my 60fps in the air, I Limit my frames to 60 based on my TV refresh rate, no sense in having more... And the game is very playable for us AMD users since the DX11 update. I didn't mean this to sound like a "boo hoo" my frame rates suck type of post, complaining about performance. It's fine. The FX8350 just has slow single threat speed. If I consider it playable with my FX8350, it will be butter smooth for anyone with a new intel. I'm just asking the optimization question in general because I want to create quality content that everyone can run.

 

 

 

Here is a trick to decide whether you are having performance issues with rendering, or with AI routines: When you play your mission, accelerate time. If you can't see a difference between normal and X2, you have too much going on. An alternative is to save your mission as a multiplayer mission and load it into DServer and look at the tick delay. The maximum acceptable is 20ms, and it's usually a good idea to stay well below that.

 

@Gambit21 The problem with that approach is that only people with the strongest CPUs will be able to play your missions. That's a choice obviously, but if one wants to make missions playable by all, it's good to at least test them on some "weak" CPU. Alternatively, one can use a variation of the acceleration test: See if you can notice a difference between X2 and X4. If yes, people with a CPU twice as slow as yours should be OK.

I'll try that out that's a good point.

 

 

For an example of activating/deactivating AAA, see "Create Target Defences" in the IL-2 Sturmovik Mission Editor and Multiplayer Server Manual. That topic shows one way to handle activation/deactivation, but there are other ways that people use (you may even come up with your own way). 

Ah yes I think I remember skimming over that recently I'll try it out. I think I'll get to the point after a mission or two where I'll make sort of "templates" by saving groups for use in the future for workflow.

Posted (edited)

Netscape - great.

Just keep in mind that action at the airfield isn't the only thing affecting performance :)

Also depending on your monitor resolution with that card, your GPU might be the bottleneck in some situations. With my old monitor 1920x1080 monitor my Mission #4...10 Ju-52's taking off ran fine.

With the 4K monitor that take off slowed to 1 5FPS for a few seconds. The 1080 brought it back up to 60, even being bottlenecked by the i5 2500K

 

However, even with that 970 and the 4K monitor, FPS were between 45 and 59 once in the air.

Now I hold a 60 fairly steadily in most situations with the 1080. That mission with the 10 Ju-52's on the Moscow field drops it to 55 - 57 only for the briefest moment.

 

Coconut, thank you for the point of reference/benchmark. I'll make use of it.

That said, just like in the old days I'm fine if someone with an overly aged system has trouble with the mission - immersion first...to an extent.

 

I don't want to get silly, where only someone with a bleeding edge CPU can run the mission as that would be counterproductive, on the other hand I've been creating these

with my i5 2500K, and I feel that's an old enough processor that if the mission runs smooth for me, that's plenty optimized enough.

I have no interest in limiting myself/creativity to missions that will still run on something half that slow.

 

Honestly I think I still have some overhead, I keep things fairly tidy with triggers and such. :)

 

The trick will be when I get my new Ryzen 1700 up and running and get to work on the Kuban A-20 campaign...I'll have to use the 2x/4x as a measuring stick I guess, maybe find a tester with a slower rig.

Edited by Gambit21
Posted

I just threw up 30 he 111's and 5 bf 110's covering them...solid 30 frames at 4k altitude, dropped to 25 once over Kalinin haha. Perhaps that's a bit much but at least it gives me an idea of what is over board.

Posted

My two cents:

 

The trick to having good performance in the mission is to rely on deactivated planes and only spawn them or activate when the player or other players are in range with check zone trigger. There are some good examples on how to create mentioned activity zones, but IMHO the best one is by Coconut.

 

Keep in mind that although your entities are "deactivated" - they will still use a lot of memory and even CPU game logic time (this was a bit of surprise to me!). Still, obviously they are much more performant than having live planes flying in the mission. If you do not have hundreds of deactivated planes - you should probably not worry about any of those limits.

 

Also, while testing I have personally not noticed any noticeable impact of having all the static blocks in the mission (instead of having just a cut down radius around the player position). If you use .msnbin format - the extra loading time from those extra static blocks seems to be insignificant.

Posted

Thanks for all the help guys. I think I'm going to scratch my first mission I made.

 

My plan is to make a super linear mission where there is practically an example of every possible function I'd use in the future. This will force me to figure out how to do it properly, or even find new ways. It will also be nice and clean to see since the whole mission will be for this purpose (lots of space in-between functions). And I can save/export groups for the basic triggers/functions for future missions - something I have yet to play with around with.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...