SaBrE_UK 0 Posted December 17, 2013 Wow. This is very disappointing. That it is allegedly fixed in A2:OA but not in A3 gives me hope it can be fixed reasonably soon, hopefully. Wonder what else is lurking under the hood contributing to the mass performance problems. Share this post Link to post Share on other sites
roshnak 41 Posted December 18, 2013 The thing that I don't understand is why it was being done this way in the first place. Surely BIS knew what was happening to the unwrecked house models, right? Share this post Link to post Share on other sites
RushHour 11 Posted December 18, 2013 It´s obvious this isn´t arma 3. It´s Arma 2 with new graphics and some minor touch-ups. Maybe in 2-3 years it will actually be good. Share this post Link to post Share on other sites
Tankbuster 1746 Posted December 21, 2013 (edited) I just did a test on a building (cargo HQ on the hill east of Stratis Airbase);Tested the object name, damage and position (ATL): "Building 311e4100# 67666: cargo_hq_v1_f.p3d" "Damage 0" "Position [2443.25,5694.54,-0.0335236]" Then blow it up with a tank round and we get the following: "Building 311e4100# 67666: cargo_hq_v1_f.p3d" "Damage 1" "Position [2443.25,5694.54,-41.7518]" Sunk about 40m underground. I'm finding the same. What actually happens is that the building is sunk to about 10m ASL. Also, there's usually a #destructioneffects nearby. So you're not doubling the number of objects when you destroy a building, but tripling it. I've tried to delete all of these objects using deletevehicle. The buildings wouldn't delete, I expected that, but the #destructioneffect (which I hoped would delete itself in time, it IS an effect after all, but it didn't) I could delete using deletevehicle. So, now where? :) Edited December 21, 2013 by Tankbuster Share this post Link to post Share on other sites
Sniperwolf572 758 Posted December 21, 2013 Also, there's usually a #destructioneffects nearby. So Your not doubling the number of objects when you destroy a building, but tripling it. Woah, nice find, that's nasty. I've tried to delete all of these objects using deletevehicle. The buildings wouldn't delete, I expected that, but the #destructioneffect (which I hoped would delete itself in time, it IS an effect after all, but it didn't) I could delete using deletevehicle. General rule of thumb seems to be, if it's created at any point during the mission, it can also be deleted during the mission. That apparently counts for ruins and #destructioneffect too and they are created by engine if I'm understanding it correctly. So, now where? :) Wishful thinking on my side is that BI will take a look and improve this, as mission authors can't do much besides take it into account and provide limited, mission specific garbage cleanup. While this isn't the core of all performance issues, the way this stuff works now is really wasteful, negatives are starting to outweigh the positives of the current solution. Seems like slightly low hanging "moar framez" fruit considering it probably wasn't looked at for a while and a better solution could probably be found. Share this post Link to post Share on other sites
progamer 14 Posted December 22, 2013 Out of curiosity, who here has had bad performance on the new dedicated server test servers? Share this post Link to post Share on other sites
ylguf 1 Posted December 22, 2013 I was looking through the game dta>bin>config and I found this. class CfgDestructPos { class DelayedDestruction { timeBeforeHiding = "0.2"; hideDuration = "0.65+lifeTime*0.05"; }; }; class CfgDamageAround { class DamageAroundHouse { radiusRatio = "1.0"; indirectHit = "11"; }; }; these are there own class not a subclass of anything. I believe these are the parameters for building destruction. this is around line 2800. i think this is what the issue is. Share this post Link to post Share on other sites
Tankbuster 1746 Posted December 22, 2013 Woah, nice find, that's nasty.General rule of thumb seems to be, if it's created at any point during the mission, it can also be deleted during the mission. That apparently counts for ruins and #destructioneffect too and they are created by engine if I'm understanding it correctly. We've tried a number of things. Although we still have some more to do, we've successfully managed to delete the #destructioneffect and the ruin and bring the building back up to the surface. To the casual observer then, a wrecked town appears pristine again. Perfect, if ain't, but a useable workaround, it is. What we haven't yet done is destroy a large number of buildings and observe the frame rate as the destruction takes place, then as the #destructioneffects are removed, the ruins are removed and the buildings bought back to z=0. I'd like to think the FPS would suffer and recover during this process. We've got a few more ideas and we'll be updating here as we have stuff to show. Share this post Link to post Share on other sites
djporternz 27 Posted December 22, 2013 If we can't delete the original building, can we move the sunken copy away out of scope. i.e. can we send it somewhere far enough away that the engine will ignore it. Hmm... I'm inclined to think that there is some 'feature' of the engine that we're not privvy to at play here. I don't see BI just sitting on this if there was any other possible way of doing things. Share this post Link to post Share on other sites
KeyCat 131 Posted December 22, 2013 (edited) Now since we have A2:OA islands ported it would be interesting to know if same performance issue shows up on Chernarus or Takistan running similar mission and same number of players. /KC Edited December 22, 2013 by KeyCat Share this post Link to post Share on other sites
Tankbuster 1746 Posted December 22, 2013 If we can't delete the original building, can we move the sunken copy away out of scope. i.e. can we send it somewhere far enough away that the engine will ignore it.Hmm... I'm inclined to think that there is some 'feature' of the engine that we're not privvy to at play here. I don't see BI just sitting on this if there was any other possible way of doing things. I think that moving it so far the engine ignores it was exactly what BI were thinking when they decided to bury it. I note that the building is typically moved 10m above sea level. I ran my tests in Oreokastro and found the buildings were 280m below ground. In Stavros, the building was 20m below ground. In both cases, this is ~ 20m ABOVE sea level. We know that we can't delete map objects. This is why the bury-the-building approach is being used. I'm wondering if we decided we want to leave the building buried, is there anything we can do to mitigate the issues its causing? Deleting the #destructioneffects will probably help. What can we do on the buried building? disablesimulation? hideobject? Share this post Link to post Share on other sites
ylguf 1 Posted December 23, 2013 this problem I think goes deeper then we realize. when new objects are created they are given a number as a name like 164332 or something like that. so with this little event handler Fnc_hint = { _unit = (_this select 0) select 6; hint format ["%1", _unit]; }; _EHFired = player addEventHandler ["Fired", {[_this] spawn Fnc_hint;}]; you can view the bullet created and the id it has. now as you can see the id doesn't go up by 1 every time you shoot. as a matter of fact it seems to go up as time goes on, which leads me to believe that there are objects being created in places that we don't know about. will test further by leaving a game running and seeing how many objects get created. please test this yourself. Share this post Link to post Share on other sites
das attorney 858 Posted December 23, 2013 now as you can see the id doesn't go up by 1 every time you shoot. as a matter of fact it seems to go up as time goes on, which leads me to believe that there are objects being created in places that we don't know about.will test further by leaving a game running and seeing how many objects get created. please test this yourself. I am not sure this is so much of a problem, the game will create lots of things like mosquitos, flies, particleSources and so on which all get an ID and run in the background so you don't notice. You can test with a nearestObjects check for unclassed objects. As long as they all get deleted after use it shouldn't be a problem. Now since we have A2:OA islands ported it would be interesting to know if same performance issue shows up on Chernarus or Takistan running similar mission and same number of players. I haven't tested but I suspect it is not as much of a problem with the old Arma 2 buildings. Typically, they were not enterable (less polys) and also do not have as many player interactions (doors/hatches/breakable windows). Share this post Link to post Share on other sites
Maxzy 12 Posted December 23, 2013 I haven't tested but I suspect it is not as much of a problem with the old Arma 2 buildings. Typically, they were not enterable (less polys) and also do not have as many player interactions (doors/hatches/breakable windows). So it works the same way but not causing such problems just because the models are much simplier? Share this post Link to post Share on other sites
roshnak 41 Posted December 23, 2013 It shouldn't cause the same problems because the entities are removed when the game is done with them, or at least they should be. Share this post Link to post Share on other sites
Sniperwolf572 758 Posted December 23, 2013 We've tried a number of things. Although we still have some more to do, we've successfully managed to delete the #destructioneffect and the ruin and bring the building back up to the surface. To the casual observer then, a wrecked town appears pristine again. Perfect, if ain't, but a useable workaround, it is. What we haven't yet done is destroy a large number of buildings and observe the frame rate as the destruction takes place, then as the #destructioneffects are removed, the ruins are removed and the buildings bought back to z=0. I'd like to think the FPS would suffer and recover during this process. When you do "_building setDamage 0" on the building, it should brought back to the surface and the ruin should be deleted automatically, there's no need to do it manually. #destructioneffect might get deleted as well, I have not checked that when I tried it out originally. I am not sure this is so much of a problem, the game will create lots of things like mosquitos, flies, particleSources and so on which all get an ID and run in the background so you don't notice.You can test with a nearestObjects check for unclassed objects. As long as they all get deleted after use it shouldn't be a problem. Spot on. Things that don't get deleted are an issue, things that do are usually not. Even footprints get their own ID's. Share this post Link to post Share on other sites
das attorney 858 Posted December 23, 2013 So it works the same way but not causing such problems just because the models are much simplier? I think that's pretty much it. I haven't got AiA installed, but I'd wager there would be a drop in FPS in Cherno/Takistan, but much less pronounced than on stock Arma 3 maps. @Sniperwolf - I didn't know that about footprints - good to know for future reference :) Share this post Link to post Share on other sites
Tankbuster 1746 Posted December 23, 2013 When you do "_building setDamage 0" on the building, it should brought back to the surface and the ruin should be deleted automatically, there's no need to do it manually. #destructioneffect might get deleted as well, I have not checked that when I tried it out originally.. That's exactly the behaviour we observed. As to the automatic deletion of the destruction effect, I'll test and report back. Share this post Link to post Share on other sites
artisanal 22 Posted December 23, 2013 Some clarification on BIS' side would be quite great now, whereas, is it intended that the house-models stay underground ? if not, is there (again...) a major issue with the engine (as with rivers, underground structures (oh the irony)etc...) which prevents from just deleting these in case of demolition ? I consider this issue to be top priority, as it most certainly is the cause to the "performance killer" when playing. Share this post Link to post Share on other sites
dnk 13 Posted December 24, 2013 They're on a 1-month vacation. Share this post Link to post Share on other sites
babylonjoke 22 Posted December 25, 2013 Well, we always wanted underground object system... Now we have it, just in the wrong way ;D Share this post Link to post Share on other sites
Sniperwolf572 758 Posted May 22, 2014 Half a year later, it looks like this has got some attention in build 124424. (Not yet released on the dev branch at the time of this post) :D Apparently, the 20FPS drop is now a 2FPS drop. M0ar framez! Share this post Link to post Share on other sites
das attorney 858 Posted May 22, 2014 I did test a while ago when I saw something in the changelog but didn't find much diference - are you still doing the same test you did at Kavala earlier in this thread? Share this post Link to post Share on other sites
Sniperwolf572 758 Posted May 22, 2014 I did test a while ago when I saw something in the changelog but didn't find much diference - are you still doing the same test you did at Kavala earlier in this thread? Haven't tried yet myself as I'm at work currently. Just going by what Iceman said in the ticket. I don't think that the 124424 build, that contains this improvement, is available yet due to lack of a changelog post. Latest one there is 124406. Share this post Link to post Share on other sites
das attorney 858 Posted May 22, 2014 Thanks for checking - I'll give it a check again when I'm home just in case. Looking forward to this one being fixed. Share this post Link to post Share on other sites