mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-08 23:19:40 +00:00
(svn r26310) -Codechange: clean up some caches during town generation to keep memory usage significantly lower (MJP)
This commit is contained in:
parent
f99d380583
commit
fcb122124b
@ -46,6 +46,7 @@
|
|||||||
#include "object_base.h"
|
#include "object_base.h"
|
||||||
#include "ai/ai.hpp"
|
#include "ai/ai.hpp"
|
||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
|
#include "gfx_layout.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/town_land.h"
|
#include "table/town_land.h"
|
||||||
@ -1889,6 +1890,14 @@ bool GenerateTowns(TownLayout layout)
|
|||||||
* Note that this is really a suggested value, not a required one.
|
* Note that this is really a suggested value, not a required one.
|
||||||
* We would not like the system to lock up just because the user wanted 100 cities on a 64*64 map, would we? */
|
* We would not like the system to lock up just because the user wanted 100 cities on a 64*64 map, would we? */
|
||||||
do {
|
do {
|
||||||
|
if (total % 512 == 0) {
|
||||||
|
/* Clear the caches regularly, otherwise it will only be done
|
||||||
|
* at the end of the whole cycle when OpenTTD has allocated
|
||||||
|
* lots and lots of memory for these essentially caches. */
|
||||||
|
ClearPersistentStorageChanges(true);
|
||||||
|
Layouter::ReduceLineCache();
|
||||||
|
}
|
||||||
|
|
||||||
bool city = (_settings_game.economy.larger_towns != 0 && Chance16(1, _settings_game.economy.larger_towns));
|
bool city = (_settings_game.economy.larger_towns != 0 && Chance16(1, _settings_game.economy.larger_towns));
|
||||||
IncreaseGeneratingWorldProgress(GWP_TOWN);
|
IncreaseGeneratingWorldProgress(GWP_TOWN);
|
||||||
/* Get a unique name for the town. */
|
/* Get a unique name for the town. */
|
||||||
|
Loading…
Reference in New Issue
Block a user