scrawl
d3e1dbe920
Fix race conditions in terrain loader caused by static variables
2017-02-09 00:53:48 +01:00
scrawl
d1e86d22ca
Check which local map textures actually need to be updated
...
On a typical exterior cell transition, we'll save 3 of 9 map renders. When moving back and forth between 2 cells, we can even reuse 6 of 9.
2017-02-08 22:20:57 +01:00
scrawl
4d53ab6c32
nifloader: attempt to remove redundant root node when a Skeleton is added
2017-02-08 20:04:17 +01:00
scrawl
2a42c4781e
nifloader: override animflags instead of accumulating them
2017-02-08 19:53:02 +01:00
scrawl
0187f2ce4c
nifloader: combine animFlags and particleFlags (Bug #2100 )
2017-02-08 19:53:02 +01:00
scrawl
bccfd6cef8
nifloader: handle textures with no image that are later assigned in a FlipController
...
As found in vurt's trees (Bug #2100 )
2017-02-08 19:52:33 +01:00
scrawl
792f505b2a
Fix potential crash in ShaderVisitor for textures with no image assigned
2017-02-08 19:16:07 +01:00
scrawl
43d9f3d5c7
Update bullet debug drawer even when the game is paused so the collision mesh will show instantly even when the console is up
2017-02-08 18:53:24 +01:00
scrawl
249fe9077b
Handle 'tcb' command as an alias for 'tcg'
2017-02-08 18:51:07 +01:00
scrawl
45ae8d5ffa
Add support for GL_AMBIENT colorMode to shaders as required by particle systems
2017-02-08 18:39:24 +01:00
scrawl
206e2bf975
Fix camera rotation not being set after save game load (regressed with 1eb3384043
)
2017-02-08 04:42:15 +01:00
scrawl
c00532d82d
Add LightStateCache to avoid redundantly setting the same gl_Light
...
Normally, osg::State would do this for us (via lastAppliedAttribute), but since we're using a custom StateAttribute to apply all lights at once, we have to track ourselves.
Further reduction of GL calls in a typical scene by ~2%
2017-02-07 23:37:57 +01:00
scrawl
4d4dc1b9c1
Add specialized DisableLight state attribute for more efficient undoing of light state
...
Seems to reduce # of GL calls by 10-15% in a typical scene.
2017-02-07 23:01:36 +01:00
scrawl
cdca9b0488
Accept bullet 283 on appveyor as well
2017-02-07 20:40:07 +01:00
scrawl
dfa43af818
Update bullet dependency to 2.86
2017-02-07 18:05:24 +01:00
scrawl
35bb467c7a
Fix inverted setting of variable
2017-02-07 05:28:06 +01:00
scrawl
5a939418fc
Add missing avcodec_close ( Fixes #3741 )
2017-02-06 15:49:13 +01:00
scrawl
91939c4687
Switch actors to capsule shapes now that the jumping bug is gone ( Fixes #2116 , Fixes #2909 )
...
The culprit was - surprise, surprise - d39d4f2619
2017-02-06 05:40:49 +01:00
scrawl
03aa270551
Construct PhysicActor as on ground by default to avoid a jumping animation from playing in the first frame after a savegame load
2017-02-06 05:23:00 +01:00
scrawl
bc29a99a53
Fix broken timer
2017-02-06 05:10:40 +01:00
scrawl
d39d4f2619
Revert a problematic and performance costly workaround that should never have been applied and is no longer required as of the last commit.
2017-02-06 04:52:41 +01:00
scrawl
541fbb4792
Movement solver: add usage of 'on slope' flag to improve handling of steep slopes
...
Previously we were handling 'on slope' synonymously with 'in air' which caused some odd effects.
Practical changes:
- Sliding down a slope no longer applies fall damage.
- Fixed a climbing exploit that would allow climbing steep slopes with repeated use of the Jump function.
2017-02-06 04:50:58 +01:00
scrawl
cce42b6e9d
Don't create a CharacterController for objects with no animations
2017-02-06 03:43:08 +01:00
scrawl
fe0cf5be05
StatsWindow: don't rebuild all skill widgets when one skill changes
2017-02-06 02:40:35 +01:00
scrawl
e7b6ea4e3f
Add cycle weapon/spell actions to the list of controller actions ( Fixes #3613 )
2017-02-05 20:23:49 +01:00
scrawl
3065600a86
Skip expensive visitEffectSources call if no summoned creatures or summon effects are active
2017-02-05 02:26:28 +01:00
scrawl
ee4073541c
Animation: cache getVelocity()
2017-02-05 02:26:28 +01:00
scrawl
a2cede8f34
Add timer for updateEquippedLight
2017-02-05 02:26:28 +01:00
scrawl
1eb3384043
Avoid rotating by zero in CharacterController
2017-02-05 02:26:28 +01:00
scrawl
7201cf5fe2
ItemWidget: skip setImageTexture if the icon has not changed
2017-02-05 02:26:27 +01:00
scrawl
5f2539adb6
Optimize scrollbar/progress skins by using one widget for the track instead of one widget per pixel
2017-02-04 16:05:22 +01:00
scrawl
1447bfa215
Improve scene loading performance by creating collision objects with the correct rotation right away instead of adjusting it later
2017-02-04 15:12:01 +01:00
scrawl
739a76f5fb
docs/settings: fix setting range
2017-02-04 06:18:23 +01:00
scrawl
76f6964583
docs/settings: add preload settings
2017-02-04 06:04:28 +01:00
scrawl
884d306bf3
Throw exception when told to use 0 threads
2017-02-04 05:58:12 +01:00
scrawl
209f271f5f
docs/settings: remove 'This setting was added in OpenMW version X.Y"
...
Most of these are ancient by now, plus we have the version selector on readthedocs.io
2017-02-04 04:58:42 +01:00
scrawl
0f9ec3f0c7
docs/settings: don't specify setting type redundantly
2017-02-04 04:55:13 +01:00
scrawl
2db7292bcb
Add new setting for the number of preloading worker threads
...
If you have CPU cores to spare, consider setting 2 or 3. Up to about 3 threads, preloading performance seems to increase in a linear fashion, but with 4 or more threads I/O bottlenecks and synchronization overhead starts to show.
2017-02-04 02:59:28 +01:00
scrawl
eaeba4138b
Move the deletion of PreloadItem to the worker thread
2017-02-04 02:36:44 +01:00
scrawl
a1069dce3c
Change UnrefQueue to accept osg::Referenced instead of osg::Object
2017-02-04 02:24:42 +01:00
scrawl
33e654f94d
Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls
2017-02-04 02:16:26 +01:00
scrawl
c95868969b
Early out for scene graphs with no update callbacks in SceneManager::notifyAttached
2017-02-04 01:22:43 +01:00
scrawl
83a9435167
Fix unnecessary use of CopyFramebufferToTextureCallback when loading is too fast for a loading screen to be displayed
2017-02-03 23:39:39 +01:00
scrawl
767eba941f
Speed up finding of attachment node by using the cached nodeMap
2017-02-03 23:15:37 +01:00
scrawl
a76d693627
Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal()
2017-02-03 23:10:14 +01:00
scrawl
c58fc6d276
Improve performance of loading screen by not recomputing the bounding sphere of the entire scene after each loading step
2017-02-03 22:29:38 +01:00
scrawl
30b101b175
Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended)
2017-02-03 06:49:34 +01:00
scrawl
0be811c519
Update the resource cache every second instead of every frame
...
A dry run takes about ~1.5ms. Even though it's all done in the worker thread, the locks used can stall loading operations that are about to happen in other threads, and just in general this CPU load is unnecessary.
2017-02-03 03:44:30 +01:00
scrawl
b4a6b6387b
Create own instance of osgDB::SharedStateManager so we control when to call prune()
...
prune() is now called in the background thread, just like the resource cache update.
Seems to improve performance by ~0.3 ms/frame
2017-02-03 03:27:12 +01:00
scrawl
84a92e665c
Improve performance in RigGeometry by optimizing for the most common case of identity geomToSkelMatrix
2017-02-03 02:18:44 +01:00