Limit dmg and dps over time graphs to not hog resources on weaker machines for too long

This commit is contained in:
DarkPhoenix
2019-05-21 14:37:35 +03:00
parent f5cad33b6c
commit 2adc150811
3 changed files with 16 additions and 6 deletions

View File

@@ -35,10 +35,7 @@ class Graph(metaclass=ABCMeta):
raise NotImplementedError
def _xIter(self, fit, extraData, xRange, xAmount):
rangeLow, rangeHigh = sorted(xRange)
limitLow, limitHigh = self._getXLimits(fit, extraData)
rangeLow = max(limitLow, rangeLow)
rangeHigh = min(limitHigh, rangeHigh)
rangeLow, rangeHigh = self._limitXRange(xRange, fit, extraData)
# Amount is amount of ranges between points here, not amount of points
step = (rangeHigh - rangeLow) / xAmount
if step == 0:
@@ -51,6 +48,13 @@ class Graph(metaclass=ABCMeta):
yield current
current += step
def _limitXRange(self, xRange, fit, extraData):
rangeLow, rangeHigh = sorted(xRange)
limitLow, limitHigh = self._getXLimits(fit, extraData)
rangeLow = max(limitLow, rangeLow)
rangeHigh = min(limitHigh, rangeHigh)
return rangeLow, rangeHigh
def _getXLimits(self, fit, extraData):
return -math.inf, math.inf