Difference between revisions of "Category:Detection"

863 bytes added ,  06:20, 9 December 2014
m
imported>Saebel
imported>Saebel
 
(2 intermediate revisions by the same user not shown)
Line 128: Line 128:


==Performance==
==Performance==
The detection formula runs on all active NPCs/Creatures all the time and is applied to all other NPCs/Creatures, not just the player.  Therefore, as the number of active actors in an area increase, the number of detection calls made increases exponentially.
Every NPC/Creature that is high processing makes a round of detection calls every .3 seconds.  Those detection calls will be made against everyone within the detection range of the actor, not just against the player.  It also doesn't matter whether the target is sneaking or not.  Sneaking merely modifies the target's ability to be detected.
 
Therefore, as the number of active actors in an area increase, the number of detection calls made increases exponentially.
{|border="1" cellpadding="5" cellspacing="0"  
{|border="1" cellpadding="5" cellspacing="0"  
|-
|-
! style="background:#efefef;" | <center> # of actors in the area </center>  
! style="background:#efefef;" | <center> # of actors in the area </center>  
! style="background:#efefef;" | <center> # of detection calls </center>
! style="background:#efefef;" | <center> # of detection calls </center>
! style="background:#efefef;" | <center> ~ # per second </center>
|-
|-
| 1 actor
| 1 actor + player
| 1 detection call towards the player
| 1
1 call vs player
| 3
|-
|-
| 2 actors
| 2 actors + player
| 4 detection calls. 2 towards the player, and 1 each as the 2 actors detect each other.
| 4
2 calls vs player, 1 call per NPC vs other NPC
| 12
|-
|-
| 3 actors
| 3 actors + player
| 9 detection calls. 3 towards the player, and 2 each as the 3 actors detect each other.
| 9
3 calls vs player, 2 calls per NPC vs other NPCs
| 27
|-
|-
| 4 actors
| 4 actors + player
| 16 detection calls.
| 16
4 calls vs player, 3 calls per NPC vs other NPCs
| 48
|-
|-
| 10 actors
| 10 actors + player
| 100 detection calls.
| 100
10 calls vs player, 9 calls per NPC vs other NPCs
| 300
|-
|-
| 15 actors
| 15 actors + player
| 225 detection calls.
| 225
15 calls vs player, 14 calls per NPC vs other NPCs
| 675
|-
|-
| 20 actors
| 20 actors + player
| 400 detection calls.
| 400
20 calls vs player, 19 calls per NPC vs other NPCs
| 1200
|-
|-
| 30 actors
| 30 actors + player
| 900 detection calls.
| 900
30 calls vs player, 29 calls per NPC vs other NPCs
| 2700
|}
|}


With default Oblivion, you will rarely run into large numbers of NPCs/creatures, but in a heavily modded Oblivion, this can have a noticeable effect on performance when the player enters highly populated areas.  Detection is probably not the only Oblivion feature that behaves like this, but it's the one that we for sure know behaves this way.
In the above examples, this assumes that everyone is within the detection range of everyone else.
 
In exterior locations, actors are rarely so clumped together except in high traffic areas such as the Market District.  But then again, exteriors have default range of 2x the interior detection distance, which is roughly four times the area.
 
With default Oblivion, you will rarely run into large numbers of NPCs/creatures that are densely packed.  But in a heavily modded Oblivion, this can have a noticeable effect on performance when the player enters highly populated areas.  Detection is probably not the only Oblivion feature that behaves like this, but it's the one that we for sure know behaves this way consistently all the time.


Any mod that alters the detection formula (such as SDR) in combination with mods that increase the population density will therefore potentially impact performance as well, depending on how the mod is designed and implemented.
Any mod that alters the detection formula (such as SDR) in combination with mods that increase the population density will therefore potentially impact performance as well, depending on how the mod is designed and implemented.
Line 178: Line 201:
==See Also==
==See Also==
[[Sneak]]
[[Sneak]]
[[GetDetectionLevel]]
[[GetDetectionLevel]]
[[GetDetected]]
[[GetDetected]]
[[IsActorDetected]]
[[IsActorDetected]]


Anonymous user