Commit Graph

63 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
Bo Svensson b2af81bc18
converts remaining osg::NodeCallback (#3147)
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
3 years ago
Bo Svensson 01cc61087b
improves paging preloader (#3126)
* Return check for distance when we try to reuse data

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* cellpreloader.cpp

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* quadtreeworld.cpp

* chunkmanager.cpp

* chunkmanager.cpp

* cellpreloader.cpp

* jvoisin

* whitespace

* whitespace
3 years ago
elsid 605cb8db7c
Make sync terrain preloading sleep free
This reduces average time spent on in. 5 milliseconds as a base precision is
quite a lot considering that for 60 FPS frame time is 1000/16 = ~16.67 ms
when it's a cell loading frame and there is more important work to do rather
than sleeping.
3 years ago
Andrei Kortunov 2d869ca9ff Fix node masks signed/unsigned mismatch 3 years ago
Andrei Kortunov 14cf0ce1dc Implement instanced groundcover 3 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
bzzt lost a hitlab login b4af2ac672 avoid blocking on pagerebuild
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 17637c6575 pagerebuild on disable
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login ffbed7ee38 loadingscreen
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
Andrei Kortunov 6de97e6bc2 Remove redundant variables from RenderingManager 4 years ago
Capostrophic 1bf2ddac4d Cleanup
Move static variable declaration out of the loop
Remove redundant boolean argument from applyDrawableProperties()
Improve HeightCullCallback class formatting
4 years ago
Bret Curtis 407fbe320e cleanup and use C++ version of FLT_MAX 4 years ago
bzzt ed20d869b4 waterculling for both terrain 4 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
bzzt 391f6faffb Remove unused defaultViewer / defaultViewPoint 5 years ago
Andrei Kortunov 489e5c6cce Store preloaded terrain view in the main thread 5 years ago
bzzt 63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
5 years ago
Bret Curtis b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
Delete composite map layers in the background thread
5 years ago
bzzt aa5a071aef Delete composite map layers in the background thread 5 years ago
Bret Curtis d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
Optimize terrain
5 years ago
Andrei Kortunov 12f9184d00 Allow to interrupt terrain preloading 5 years ago
bzzt e0cf460ba3 Do not load terrain beyond the viewing distance 5 years ago
bzzt 5bce3cbc68 Don't use MWRender namespace in common terrain components 5 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Miloslav Číž 414e6caafe Make tb work with distant terrain 6 years ago
Miloslav Číž f18d57429e Move cell border management to World 6 years ago
Miloslav Číž 1b8d500c07 Make tb command work again 6 years ago
Miloslav Číž c3d7ee5a9e Resolve merge conflicts 6 years ago
Miloslav Číž db8aaa74d6 Start cell border debug drawing 6 years ago
scrawl 123f7b83d5
Make the CompositeMapRenderer use available time and add related setting 6 years ago
Kyle Cooley 2eacc2f093 Changes to land creation, add ability to specifically clear terrain cache 7 years ago
scrawl ac78d01b2b Terrain: use the main camera's viewpoint for intersection tests
Fixes lag spikes caused by intersection tests loading/unloading terrain pages.
7 years ago
Ewan Higgs 38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 7 years ago
scrawl 6ccb6009ee Use the View-based preloading for TerrainGrid as well 7 years ago
scrawl 3c29e2dbeb Refactor ownership of terrain views 7 years ago
scrawl e7a0878c10 Add CompositeMapRenderer info to the stats panel 7 years ago
scrawl 683e625c6c Rewrite CompositeMapRenderer to be based on Drawable and share the FBO 7 years ago
scrawl 4baa795152 Add preloading implementation to QuadTreeWorld 7 years ago
scrawl 4dbd224249 Hide the terrain in non-exterior cells 7 years ago
scrawl 5a3c645c89 Enable lazy compiling of composite maps 7 years ago
scrawl ce8c4ad4f5 Add quad tree implementation (no rendering yet) 7 years ago
scrawl 14225a42c6 Remove unused pointer to IncrementalCompileOperation 7 years ago
scrawl c487df0abb Move updateTextureFiltering and material into the base class 7 years ago
scrawl 5eff286c71 Use separate node mask and parent for CompositeMapRenderer to allow the loading screen to pre compile composite maps. 7 years ago
scrawl 35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 7 years ago
scrawl 804f873649 terrain: factor out texture caching into a separate class 7 years ago
scrawl 8f79fa3d72 Add resource statistics panel opened with F4 7 years ago