Commit Graph

173 Commits (a854a6e04a8437d74078906d1d1720c0649e4e6f)

Author SHA1 Message Date
Bo Svensson a854a6e04a
removes UnrefQueue (#3181)
Currently, we use an `UnrefQueue` which supposedly aims to transfer destruction costs to another thread. The implications of this unusual pattern can not be well understood because some allocators might free resources more efficiently if they are freed by the same thread that allocated them. In addition, `UnrefQueue` complicates the validation of thread safety in our engine. Lastly, our current usage of `UnrefQueue` triggers `ref()`, `unref()` atomic operations as objects are passed into the queue. These operations could be more expensive than the actual destruction.

With this PR we thus remove `UnrefQueue`. We can expect these changes to have a minor impact at most because we free most resources elsewhere in `ResourceSystem::updateCache`.
3 years ago
Bret Curtis 8a8107e837 as it says; revert vismask and uncomplicate openmw 4 years ago
Andrei Kortunov 84979fa8b7 Move VisMask to components 4 years ago
AnyOldName3 8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 5 years ago
Capostrophic 624db99bf2 Remove some redundant code 5 years ago
AnyOldName3 0124be5713 Merge upstream/master 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
AnyOldName3 553094669b Merge upstream/master (& fix merge conflicts) 6 years ago
David Cernat 04a2025340 Fix crash when adding items to certain disabled creatures (bug #4441) 6 years ago
scrawl cfdf99f601
Revert "Merged pull request #1573"
This reverts commit 7324bd368f, reversing
changes made to 810e4416f6.
6 years ago
Andrei Kortunov 22fb1f3403 Play spellcasting effects from objects 6 years ago
AnyOldName3 6f582f5411 Make indoor shadows do something meaningful. 6 years ago
MiroslavR d24286273b Prevent respawned references from being added to the scene twice in certain cases (Fixes #3864) 7 years ago
Allofich db2f97f308 Fix shadowing warning 7 years ago
scrawl d163228199 Fix updatePtr 7 years ago
scrawl 00d4fea91c Derive Animation from osg::Referenced to allow the UnrefQueue to delete it 7 years ago
scrawl a5247394dc (Re)set the inventory listener outside of the Animation class 7 years ago
scrawl c5f8ff6e0e Add names to several nodes for debugging purposes 7 years ago
scrawl 6615330430 Fix use of UnrefQueue in removeObject 8 years ago
scrawl a9561f738a Move RemoveParticlesVisitor to animation.cpp 8 years ago
scrawl f898bf493f Don't use Geodes 8 years ago
scrawl 5824619a95 Clean up includes 8 years ago
scrawl 8b596dfcbe Remove support for OSG 3.2
Since commit e8662bea31, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
8 years ago
scrawl d11c2864df Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread 8 years ago
scrawl 7a8a7e3dd6 Add const version of getAnimation 9 years ago
scrawl 62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 9 years ago
scrawl 8c268f239e Set the object node scale before inserting model
This fixes initWorldSpaceParticles not taking object scale into account. Still not taking into account object rotation or node animations. Ideally the initWorldSpaceParticles needs to run in an updateCallback.
9 years ago
scrawl f1ac408f35 Place Drawables directly in the scene graph when built with OSG 3.4
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.

There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
9 years ago
scrawl d7695f2560 Remove unused NpcAnimation visibilityFlags 9 years ago
scrawl 7b35882814 RemoveParticlesVisitor fix 9 years ago
scrawl f4ee805e3b Object animation fix 9 years ago
scrawl 723beb1cac Move IncrementalCompileOperation to SceneManager 9 years ago
scrawl 3dcb167066 Map rendering 9 years ago
scrawl 8b322fcd06 Implement getFacedObject using osgUtil::IntersectionVisitor 9 years ago
scrawl da24e298ee Fix -Wreorder warnings 9 years ago
scrawl 0b042b75cc Restore actor visibility mask 9 years ago
scrawl 2235d2978b Restore animation text key handling 9 years ago
scrawl b7258c8d23 Readded Objects::updatePtr 9 years ago
scrawl 77f733362c Add stats graphs for Script, Mechanics and Physics timings 9 years ago
scrawl 9de575ad42 Use IncrementalCompileOperation to incrementally upload OpenGL objects during the loading screen
For now, not much difference, but should result in a sizable speed up once MyGUI no longer needs the DYNAMIC flag (i.e. the loading screen truly renders in the background).
9 years ago
scrawl 9cf9c2876e Pathgrid rendering 9 years ago
scrawl bd8f0248f0 Player rendering 9 years ago
scrawl 0ff7b2ff11 MechanicsManager, frame update 9 years ago
scrawl 1c0e3a6488 rotateObject, scaleObject 9 years ago
scrawl 86b4a610cb Movement accumulation works 9 years ago
scrawl 09742d5b95 Animation playback works, no movement accumulation yet 9 years ago
scrawl 68f93294da Port EffectManager 9 years ago
scrawl fcc7aa02ab Port addExtraLight 9 years ago
scrawl 9c4b2ea61a CreatureAnimation compiles 9 years ago
scrawl edc5cad79e Port Animation::addEffect 9 years ago