View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0003901 | Spring engine | General | public | 2013-07-28 12:22 | 2013-08-22 12:43 | ||||
Reporter | raaar | ||||||||
Assigned To | Kloot | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | no change required | ||||||
Product Version | 94.1.1+git | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0003901: shielded units generate too many particles | ||||||||
Description | - having units with shields raises the number of simultaneous particles significantly, even if they aren't visible | ||||||||
Steps To Reproduce | - just spawn any shielded unit (that uses Spring engine shields) | ||||||||
Additional Information | - the increase in particles doesn't seem to change with shield radius, only with the number of shields in game - on the attached screenshot, about 10 shielded units have been spawned for the current player on a test game (they are idling and nothing else is happening) - the baseline number of particles is about 300-400 - if i spawn 10 more shielded units, the number of particles outside the "( )" is also raised by about 300 | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
raaar (reporter) 2013-07-28 15:40 |
the problem persists even if the units are spawned for an enemy team far away in the map, or if the shield is set to invisible (VisibleShield=0;). |
jK (developer) 2013-08-05 05:44 |
and? where is the problem? |
raaar (reporter) 2013-08-06 05:02 |
having a high amount of active particles prevents CEG from being displayed (weapon flares, explosions, etc.) it may be irrelevant for games where only half a dozen big shields are expected to be simultaneously active, but it is relevant for games where armies with dozens of shielded units are expected. - the amount of particles shouldn't increase so much for small shields - it shouldn't increase at all for invisible shields |
jK (developer) 2013-08-06 08:29 |
| having a high amount of active particles prevents CEG from being displayed (weapon flares, explosions, etc.) weapon projectiles are still shown, only secondary effects aren't | the amount of particles shouldn't increase so much for small shields how do you know without knowing the engine internals? | it shouldn't increase at all for invisible shields Again how do you know without knowing the engine internals? So some facts: 1. shield projectiles are the by far _most_ expensive projectiles and so they _must_ count more than others to prevent lag 2. shields are divided into multiple projectiles for _performance_ reasons (so it is the opposite from what you think) So please stop always directly claiming something being a bug w/o further knowledge! |
raaar (reporter) 2013-08-07 03:52 |
in my mod, i'm using the engine shields as unit-only shields that absorb damage (like the protoss in starcraft). Default collision handling is disabled (the interception attributes mismatch on purpose between shields and weapons). I have a lua gadget to handle shields: - swaps the shield owner's projectile colision volume with the one from its shield radius or vice versa depending on shield status - redirects dmg to the unit to its shield (including aoe) but still use stuff from the engine shields: - visuals - definitions : radius, regen, cost, etc. It seems reasonable to expect that shields with collision disabled and visual effect disabled should not have such a particle cost. Maybe a special shieldInterceptType=0 value could be used to prevent it from being so expensive? is the particle expensiveness due to the visual effect or collision handling? (unit<->projectile collision handling seems to have no such cost) |
Google_Frog (reporter) 2013-08-07 12:09 |
Ah so do you really just want the ability to create completely invisible shields for the purpose of saving on particles? |
jK (developer) 2013-08-07 12:21 |
| but still use stuff from the engine shields: | - visuals is contrary to what you said below: | It seems reasonable to expect that shields with collision disabled and visual effect disabled should not have such a particle cost. |
Google_Frog (reporter) 2013-08-07 13:58 |
Hang on, if you've disabled collision and visual effect then why are you using a shield? |
raaar (reporter) 2013-08-08 00:33 |
I do use the visual effect on shields. What i was trying to say is that i also tested disabling the visual effect to see if the particle expensiveness would go away : it didn't... I disabled the collision with shield because otherwise it would be harder to make the shield gadget correctly assign the AOE dmg done to the unit to its shield (ShieldPreDamaged doesn't seem to let me prevent the shield from taking dmg, so if i let the shot collide, it'd take up to 2x dmg depending on AOE and shield radius). I'd use the engine shields without any lua hacks if i could...but as they fail to absorb AOE dmg i had to resort to a lua gadget. |
Kloot (developer) 2013-08-22 12:43 |
"ShieldPreDamaged doesn't seem to let me prevent the shield from taking dmg" Return true from it...? In addition to what jk said it would be also more inefficient to remove and re-add the shield particles when a shield becomes invisible and then visible again and this is the reason the particle count does not drop. If you really want "particle-free" shields you must set VisibleShield=0 AND visibleShieldHitFrames=0. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2013-07-28 12:22 | raaar | New Issue | |
2013-07-28 12:22 | raaar | File Added: shield_particles_bug2.jpg | |
2013-07-28 15:40 | raaar | Note Added: 0011100 | |
2013-08-05 05:44 | jK | Note Added: 0011183 | |
2013-08-06 05:02 | raaar | Note Added: 0011199 | |
2013-08-06 08:29 | jK | Note Added: 0011207 | |
2013-08-07 03:52 | raaar | Note Added: 0011226 | |
2013-08-07 12:09 | Google_Frog | Note Added: 0011227 | |
2013-08-07 12:21 | jK | Note Added: 0011228 | |
2013-08-07 13:58 | Google_Frog | Note Added: 0011230 | |
2013-08-08 00:33 | raaar | Note Added: 0011234 | |
2013-08-22 12:43 | Kloot | Note Added: 0011356 | |
2013-08-22 12:43 | Kloot | Status | new => closed |
2013-08-22 12:43 | Kloot | Assigned To | => Kloot |
2013-08-22 12:43 | Kloot | Resolution | open => no change required |