Difference between revisions of "Performance Problems"
Not so bad, after all, fixed a few links
imported>Dev akm (new page) |
imported>Haama (Not so bad, after all, fixed a few links) |
||
Line 24: | Line 24: | ||
== CPU-Hungry Script Functions == | == CPU-Hungry Script Functions == | ||
Generally, scripts have little affect on FPS, especially compared to graphics. However, if run every frame there are a few functions that will cause a noticeable (>1) drop in FPS: | Generally, scripts have little affect on FPS, especially compared to graphics. However, if run every frame there are a few functions that will cause a noticeable (>1) drop in FPS: | ||
# [[GetNumItems]] (OBSE) | # [[GetNumItems]] (OBSE) | ||
# [[GetInventoryObject]] (OBSE) | # [[GetInventoryObject]] (OBSE) | ||
# [[GetFPS]] (OBSE) | # [[GetFPS]] (OBSE) | ||
#* However, you can run this every few frames without a drop. This is most useful as an alternative to '''GetSecondsPassed''' as ((Number of frames passed) / GetFPS) approximates the amount of time passed. | #* However, you can run this every few frames without a drop. This is most useful as an alternative to '''GetSecondsPassed''' as ((Number of frames passed) / GetFPS) approximates the amount of time passed. | ||
# GetDistance | # [[GetDistance]] | ||
#* I have tested the others above, but not this one. However, I have seen it mentioned several times that GetDistance is a CPU heavy function, so I'm including it here. | #* I have tested the others above, but not this one. However, I have seen it mentioned several times that GetDistance is a CPU heavy function, so I'm including it here. | ||
#*--[[User:Haama|Haama]] 17:54, 10 September 2007 (EDT) | #*--[[User:Haama|Haama]] 17:54, 10 September 2007 (EDT) | ||
Line 37: | Line 36: | ||
The main problem with CPU-hungry scripts comes from Oblivion's "brick-wall" for FPS and script processing. Scripts won't touch FPS until you hit a certain limit, and then even a few extra small scripts can start dropping FPS. | The main problem with CPU-hungry scripts comes from Oblivion's "brick-wall" for FPS and script processing. Scripts won't touch FPS until you hit a certain limit, and then even a few extra small scripts can start dropping FPS. | ||
See [[Code | See [[Code Optimization]] for more details (in planning/progress). | ||
== AI Overload == | == AI Overload == |