Do not request needed data every point calculation
This commit is contained in:
@@ -63,19 +63,28 @@ class FitWarpTimeGraph(FitGraph):
|
|||||||
('distance', 'AU'): lambda v, fit, tgt: v / AU_METERS,
|
('distance', 'AU'): lambda v, fit, tgt: v / AU_METERS,
|
||||||
('distance', 'km'): lambda v, fit, tgt: v / 1000}
|
('distance', 'km'): lambda v, fit, tgt: v / 1000}
|
||||||
|
|
||||||
|
def _distance2timeCache(self, miscParams, fit, tgt):
|
||||||
|
return {
|
||||||
|
'subwarpSpeed': self._subspeedCache.getSubwarpSpeed(fit),
|
||||||
|
'warpSpeed': fit.warpSpeed}
|
||||||
|
|
||||||
def _distance2timeFull(self, singleGetter, mainParam, miscParams, fit, tgt):
|
def _distance2timeFull(self, singleGetter, mainParam, miscParams, fit, tgt):
|
||||||
xs = []
|
xs = []
|
||||||
ys = []
|
ys = []
|
||||||
|
cache = self._distance2timeCache(miscParams=miscParams, fit=fit, tgt=tgt)
|
||||||
for distance in self._iterLinear(mainParam[1]):
|
for distance in self._iterLinear(mainParam[1]):
|
||||||
time = singleGetter(self, mainParam=distance, miscParams=miscParams, fit=fit, tgt=tgt)
|
time = singleGetter(self, mainParam=distance, miscParams=miscParams, fit=fit, tgt=tgt, cache=cache)
|
||||||
xs.append(distance)
|
xs.append(distance)
|
||||||
ys.append(time)
|
ys.append(time)
|
||||||
return xs, ys
|
return xs, ys
|
||||||
|
|
||||||
def _distance2timeSingle(self, mainParam, miscParams, fit, tgt):
|
def _distance2timeSingle(self, mainParam, miscParams, fit, tgt, cache=None):
|
||||||
subwarpSpeed = self._subspeedCache.getSubwarpSpeed(fit)
|
if cache is None:
|
||||||
warpSpeed = fit.warpSpeed
|
cache = self._distance2timeCache(miscParams=miscParams, fit=fit, tgt=tgt)
|
||||||
time = calculate_time_in_warp(max_subwarp_speed=subwarpSpeed, max_warp_speed=warpSpeed, warp_dist=mainParam)
|
time = calculate_time_in_warp(
|
||||||
|
max_subwarp_speed=cache['subwarpSpeed'],
|
||||||
|
max_warp_speed=cache['warpSpeed'],
|
||||||
|
warp_dist=mainParam)
|
||||||
return time
|
return time
|
||||||
|
|
||||||
_getters = {
|
_getters = {
|
||||||
|
|||||||
Reference in New Issue
Block a user