--- deliantra/server/ext/map-scheduler.ext 2007/11/14 08:09:46 1.46 +++ deliantra/server/ext/map-scheduler.ext 2008/04/15 14:21:04 1.47 @@ -6,10 +6,10 @@ #our $DEACTIVATE_TIMEOUT = 20; # number of seconds after which maps get deactivated to save cpu our $SWAP_TIMEOUT = $cf::CFG{swap_timeout} || 300; # number of seconds after which inactive maps get swapped out -our $SCHEDULE_INTERVAL = $cf::CFG{schedule_interval} || 2; # time the map scheduler sleeps between runs +our $SCHEDULE_INTERVAL = $cf::CFG{schedule_interval} || 5; # time the map scheduler sleeps between runs our $SAVE_TIMEOUT = $cf::CFG{save_timeout} || 30; # save maps every n seconds our $SWAP_LOAD1 = $cf::CFG{swap_load1} || .1; # start aggressively swapping at this load -our $SWAP_LOAD2 = $cf::CFG{swap_load2} || .4; # swap as fast as possible at this load +our $SWAP_LOAD2 = $cf::CFG{swap_load2} || .6; # swap as fast as possible at this load cf::async_ext { $Coro::current->{desc} = "startup map scanner"; @@ -58,7 +58,6 @@ while () { if ($cf::LOADAVG > $SWAP_LOAD2) { - Coro::EV::timer_once 0.05; cf::wait_for_tick; } else { Coro::EV::timer_once $SCHEDULE_INTERVAL; @@ -83,7 +82,7 @@ # } if ($map->should_reset) { $map->reset; - } elsif ($map->in_memory == cf::MAP_IN_MEMORY) { + } elsif ($map->in_memory == cf::MAP_ACTIVE) { my $max_idle = cf::clamp +(cf::lerp $cf::LOADAVG, $SWAP_LOAD1, $SWAP_LOAD2, $SWAP_TIMEOUT, $cf::TICK * 1.5), $cf::TICK * 1.5, $SWAP_TIMEOUT;