Commit Graph

17408 Commits (4d53ab6c3210f4c2e59927a36461962d703489cc)
 

Author SHA1 Message Date
scrawl 4d53ab6c32 nifloader: attempt to remove redundant root node when a Skeleton is added 8 years ago
scrawl 2a42c4781e nifloader: override animflags instead of accumulating them 8 years ago
scrawl 0187f2ce4c nifloader: combine animFlags and particleFlags (Bug #2100) 8 years ago
scrawl bccfd6cef8 nifloader: handle textures with no image that are later assigned in a FlipController
As found in vurt's trees (Bug #2100)
8 years ago
scrawl 792f505b2a Fix potential crash in ShaderVisitor for textures with no image assigned 8 years ago
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 8 years ago
scrawl 249fe9077b Handle 'tcb' command as an alias for 'tcg' 8 years ago
scrawl 45ae8d5ffa Add support for GL_AMBIENT colorMode to shaders as required by particle systems 8 years ago
scrawl 206e2bf975 Fix camera rotation not being set after save game load (regressed with 1eb3384043) 8 years ago
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%
8 years ago
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.
8 years ago
scrawl cdca9b0488 Accept bullet 283 on appveyor as well 8 years ago
scrawl dfa43af818 Update bullet dependency to 2.86 8 years ago
scrawl 35bb467c7a Fix inverted setting of variable 8 years ago
scrawl 5a939418fc Add missing avcodec_close (Fixes #3741) 8 years ago
scrawl 91939c4687 Switch actors to capsule shapes now that the jumping bug is gone (Fixes #2116, Fixes #2909)
The culprit was - surprise, surprise - d39d4f2619
8 years ago
scrawl 03aa270551 Construct PhysicActor as on ground by default to avoid a jumping animation from playing in the first frame after a savegame load 8 years ago
scrawl bc29a99a53 Fix broken timer 8 years ago
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. 8 years ago
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.
8 years ago
scrawl cce42b6e9d Don't create a CharacterController for objects with no animations 8 years ago
scrawl fe0cf5be05 StatsWindow: don't rebuild all skill widgets when one skill changes 8 years ago
scrawl e7b6ea4e3f Add cycle weapon/spell actions to the list of controller actions (Fixes #3613) 8 years ago
scrawl 3065600a86 Skip expensive visitEffectSources call if no summoned creatures or summon effects are active 8 years ago
scrawl ee4073541c Animation: cache getVelocity() 8 years ago
scrawl a2cede8f34 Add timer for updateEquippedLight 8 years ago
scrawl 1eb3384043 Avoid rotating by zero in CharacterController 8 years ago
scrawl 7201cf5fe2 ItemWidget: skip setImageTexture if the icon has not changed 8 years ago
scrawl 5f2539adb6 Optimize scrollbar/progress skins by using one widget for the track instead of one widget per pixel 8 years ago
scrawl 1447bfa215 Improve scene loading performance by creating collision objects with the correct rotation right away instead of adjusting it later 8 years ago
scrawl 739a76f5fb docs/settings: fix setting range 8 years ago
scrawl 76f6964583 docs/settings: add preload settings 8 years ago
scrawl 884d306bf3 Throw exception when told to use 0 threads 8 years ago
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
8 years ago
scrawl 0f9ec3f0c7 docs/settings: don't specify setting type redundantly 8 years ago
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.
8 years ago
scrawl eaeba4138b Move the deletion of PreloadItem to the worker thread 8 years ago
scrawl a1069dce3c Change UnrefQueue to accept osg::Referenced instead of osg::Object 8 years ago
scrawl 33e654f94d Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls 8 years ago
scrawl c95868969b Early out for scene graphs with no update callbacks in SceneManager::notifyAttached 8 years ago
scrawl 83a9435167 Fix unnecessary use of CopyFramebufferToTextureCallback when loading is too fast for a loading screen to be displayed 8 years ago
scrawl 767eba941f Speed up finding of attachment node by using the cached nodeMap 8 years ago
scrawl a76d693627 Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal() 8 years ago
scrawl c58fc6d276 Improve performance of loading screen by not recomputing the bounding sphere of the entire scene after each loading step 8 years ago
scrawl 30b101b175 Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended) 8 years ago
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.
8 years ago
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
8 years ago
scrawl 84a92e665c Improve performance in RigGeometry by optimizing for the most common case of identity geomToSkelMatrix 8 years ago
scrawl f3045331f1 Fix regression in handling of NiZBufferProperty 8 years ago
scrawl 6d8c414071 Set osgViewer ReleaseContextAtEndOfFrameHint to false for better performance when in SingleThreaded mode
The flag is normally set to off by default when using Viewer::run() - however since we're using our own frame loop, we have to unset the flag ourselves
8 years ago