mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-20 07:23:51 +00:00
Merged pull request #1887
This commit is contained in:
commit
232ea4f793
2 changed files with 14 additions and 17 deletions
|
@ -1,28 +1,15 @@
|
||||||
#include "unrefqueue.hpp"
|
#include "unrefqueue.hpp"
|
||||||
|
|
||||||
#include <deque>
|
|
||||||
|
|
||||||
//#include <osg/Timer>
|
//#include <osg/Timer>
|
||||||
|
|
||||||
//#include <components/debug/debuglog.hpp>
|
//#include <components/debug/debuglog.hpp>
|
||||||
#include <components/sceneutil/workqueue.hpp>
|
|
||||||
|
|
||||||
namespace SceneUtil
|
namespace SceneUtil
|
||||||
{
|
{
|
||||||
|
void UnrefWorkItem::doWork()
|
||||||
class UnrefWorkItem : public SceneUtil::WorkItem
|
|
||||||
{
|
{
|
||||||
public:
|
mObjects.clear();
|
||||||
std::deque<osg::ref_ptr<const osg::Referenced> > mObjects;
|
}
|
||||||
|
|
||||||
virtual void doWork()
|
|
||||||
{
|
|
||||||
//osg::Timer timer;
|
|
||||||
//size_t objcount = mObjects.size();
|
|
||||||
mObjects.clear();
|
|
||||||
//Log(Debug::Verbose) << "cleared " << objcount << " objects in " << timer.time_m();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
UnrefQueue::UnrefQueue()
|
UnrefQueue::UnrefQueue()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,13 +1,23 @@
|
||||||
#ifndef OPENMW_COMPONENTS_UNREFQUEUE_H
|
#ifndef OPENMW_COMPONENTS_UNREFQUEUE_H
|
||||||
#define OPENMW_COMPONENTS_UNREFQUEUE_H
|
#define OPENMW_COMPONENTS_UNREFQUEUE_H
|
||||||
|
|
||||||
|
#include <deque>
|
||||||
|
|
||||||
#include <osg/ref_ptr>
|
#include <osg/ref_ptr>
|
||||||
#include <osg/Referenced>
|
#include <osg/Referenced>
|
||||||
|
|
||||||
|
#include <components/sceneutil/workqueue.hpp>
|
||||||
|
|
||||||
namespace SceneUtil
|
namespace SceneUtil
|
||||||
{
|
{
|
||||||
class WorkQueue;
|
class WorkQueue;
|
||||||
class UnrefWorkItem;
|
|
||||||
|
class UnrefWorkItem : public SceneUtil::WorkItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::deque<osg::ref_ptr<const osg::Referenced> > mObjects;
|
||||||
|
virtual void doWork();
|
||||||
|
};
|
||||||
|
|
||||||
/// @brief Handles unreferencing of objects through the WorkQueue. Typical use scenario
|
/// @brief Handles unreferencing of objects through the WorkQueue. Typical use scenario
|
||||||
/// would be the main thread pushing objects that are no longer needed, and the background thread deleting them.
|
/// would be the main thread pushing objects that are no longer needed, and the background thread deleting them.
|
||||||
|
|
Loading…
Reference in a new issue