Optimize for disk cache

Disable delay rendering and change cache size defaults for optimizing
the use of the disk cache
This commit is contained in:
Kovid Goyal 2013-08-12 14:24:34 +05:30
parent a401b2ab7d
commit b19ee15eca
3 changed files with 13 additions and 10 deletions

View File

@ -113,10 +113,10 @@ defs['extra_row_spacing'] = 0
defs['refresh_book_list_on_bulk_edit'] = True defs['refresh_book_list_on_bulk_edit'] = True
defs['cover_grid_width'] = 0 defs['cover_grid_width'] = 0
defs['cover_grid_height'] = 0 defs['cover_grid_height'] = 0
defs['cover_grid_color'] = (80, 80, 80)
defs['cover_grid_cache_size'] = 200
defs['cover_grid_disk_cache_size'] = 2000
defs['cover_grid_spacing'] = 0 defs['cover_grid_spacing'] = 0
defs['cover_grid_color'] = (80, 80, 80)
defs['cover_grid_cache_size'] = 100
defs['cover_grid_disk_cache_size'] = 2500
defs['cover_grid_show_title'] = False defs['cover_grid_show_title'] = False
del defs del defs
# }}} # }}}

View File

@ -438,6 +438,7 @@ class GridView(QListView):
update_item = pyqtSignal(object) update_item = pyqtSignal(object)
files_dropped = pyqtSignal(object) files_dropped = pyqtSignal(object)
delay_render = False
def __init__(self, parent): def __init__(self, parent):
QListView.__init__(self, parent) QListView.__init__(self, parent)
@ -466,8 +467,9 @@ class GridView(QListView):
self.setCursor(Qt.PointingHandCursor) self.setCursor(Qt.PointingHandCursor)
self.gui = parent self.gui = parent
self.context_menu = None self.context_menu = None
self.verticalScrollBar().sliderPressed.connect(self.slider_pressed) if self.delay_render:
self.verticalScrollBar().sliderReleased.connect(self.slider_released) self.verticalScrollBar().sliderPressed.connect(self.slider_pressed)
self.verticalScrollBar().sliderReleased.connect(self.slider_released)
self.update_timer = QTimer(self) self.update_timer = QTimer(self)
self.update_timer.setInterval(200) self.update_timer.setInterval(200)
self.update_timer.timeout.connect(self.update_viewport) self.update_timer.timeout.connect(self.update_viewport)
@ -513,10 +515,11 @@ class GridView(QListView):
else: else:
self.ignore_render_requests.set() self.ignore_render_requests.set()
def wheelEvent(self, e): if delay_render:
self.ignore_render_requests.set() def wheelEvent(self, e):
QListView.wheelEvent(self, e) self.ignore_render_requests.set()
self.update_timer.start() QListView.wheelEvent(self, e)
self.update_timer.start()
def double_clicked(self, index): def double_clicked(self, index):
d = self.delegate d = self.delegate

View File

@ -24,7 +24,7 @@ class CoverCache(dict):
' This is a RAM cache to speed up rendering of covers by storing them as QPixmaps ' ' This is a RAM cache to speed up rendering of covers by storing them as QPixmaps '
def __init__(self, limit=200): def __init__(self, limit=100):
self.items = OrderedDict() self.items = OrderedDict()
self.lock = Lock() self.lock = Lock()
self.limit = limit self.limit = limit