1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 12:39:55 +00:00
elsid a2d596dbc7
Prepare navmesh scene asynchronously
It is expensive operation to generate new osg::Group for updated navmesh tile
which noticeably slows down main thread primarily because of
SceneManager::recreateShaders call. Move it to the preload work queue that is
used by RenderingManager. Leave to main thread only manipulations on the root
node.

Also move deallocation of no more needed data to the work queue. It's also
quite expensive operation because SceneManager::recreateShaders allocates a
new state set for each osg::Geometry. Deallocating them takes time.

Avoid creating another work item if there is existing one that is not started
yet.

Make sure results are accepted in the proper serialized order by selecting
completed work item with maximum {id, version}.
2022-04-20 23:14:31 +02:00
..
2022-04-08 22:42:22 +02:00
2021-11-21 02:25:05 +00:00
2022-04-06 21:55:05 +02:00
2010-08-07 20:25:17 +02:00
2021-11-21 02:25:05 +00:00
2020-06-07 15:51:03 +04:00
2022-04-08 22:42:22 +02:00
2021-11-02 18:01:22 +01:00
2021-10-20 23:02:15 +02:00
2019-02-23 08:02:12 +04:00
2022-02-07 11:51:59 -08:00
2015-04-21 23:40:10 +02:00
2020-03-14 09:38:24 +01:00
2021-08-15 19:50:28 +02:00
2022-04-08 22:50:09 +02:00
2022-01-04 14:10:39 -08:00
2021-11-22 17:35:00 -08:00
2021-08-04 17:49:57 -07:00
2021-08-04 17:49:57 -07:00
2021-10-27 09:16:01 -07:00
2022-04-08 22:50:09 +02:00
2021-10-27 09:16:01 -07:00