minor update
This commit is contained in:
@@ -99,6 +99,7 @@ void AsyncLoader::process()
|
||||
std::lock_guard<std::mutex> const lock(_guard);
|
||||
|
||||
object->error_on_loading();
|
||||
LogError << "Caught unknown error." << std::endl;
|
||||
|
||||
if (object->is_required_when_saving())
|
||||
{
|
||||
@@ -144,6 +145,10 @@ void AsyncLoader::ensure_deletable (AsyncObject* object)
|
||||
AsyncLoader::AsyncLoader(int numThreads)
|
||||
: _stop (false)
|
||||
{
|
||||
// use half of the available threads
|
||||
unsigned int maxThreads = std::thread::hardware_concurrency() / 2;
|
||||
numThreads = maxThreads > numThreads ? maxThreads : numThreads;
|
||||
|
||||
for (int i = 0; i < numThreads; ++i)
|
||||
{
|
||||
_threads.emplace_back (&AsyncLoader::process, this);
|
||||
@@ -152,7 +157,10 @@ AsyncLoader::AsyncLoader(int numThreads)
|
||||
|
||||
AsyncLoader::~AsyncLoader()
|
||||
{
|
||||
_stop = true;
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(_guard);
|
||||
_stop = true;
|
||||
}
|
||||
_state_changed.notify_all();
|
||||
|
||||
for (auto& thread : _threads)
|
||||
|
||||
@@ -423,10 +423,12 @@ void MapIndex::unloadTiles(const TileIndex& tile)
|
||||
|
||||
void MapIndex::unloadTile(const TileIndex& tile)
|
||||
{
|
||||
// unloads a tile with givn cords
|
||||
// unloads a tile with given cords
|
||||
if (tileLoaded(tile))
|
||||
{
|
||||
Log << "Unload Tile " << tile.x << "-" << tile.z << std::endl;
|
||||
|
||||
AsyncLoader::instance().ensure_deletable(mTiles[tile.z][tile.x].tile.get());
|
||||
mTiles[tile.z][tile.x].tile = nullptr;
|
||||
_n_loaded_tiles--;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include <QString>
|
||||
#include <chrono>
|
||||
#include <QJsonArray>
|
||||
#include <noggit/Log.h>
|
||||
|
||||
namespace Noggit::Project
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "WMOGroupRender.hpp"
|
||||
#include <noggit/WMO.h>
|
||||
#include <noggit/Log.h> // LogDebug
|
||||
|
||||
using namespace Noggit::Rendering;
|
||||
|
||||
@@ -346,6 +347,8 @@ void WMOGroupRender::initRenderBatches()
|
||||
_render_batch_mapping[batch.vertex_start + i] = static_cast<unsigned>(batch_counter + 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
LogError << "WMO has incorrect render batch data. batch.vertex_end < batch.vertex_start" << std::endl;
|
||||
|
||||
std::uint32_t flags = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user