consider entire layout for gc

this fixes an issue where in some situations tiles would get erroneously
garbage collected and then immediately recreated, forming an infinite
loop and leading to 100% cpu load
This commit is contained in:
Florian Stecker 2023-10-07 15:59:18 -04:00
parent fff7fc22fa
commit 1e59ab9500

View file

@ -1216,7 +1216,7 @@ let act cmds =
puttileopaque l col row gen cs angle opaque size t; puttileopaque l col row gen cs angle opaque size t;
S.memused := !S.memused + size; S.memused := !S.memused + size;
!S.uioh#infochanged Memused; !S.uioh#infochanged Memused;
gctilesnotinlayout !S.layout; gctilesnotinlayout layout;
Queue.push ((l.pageno, gen, cs, angle, l.pagew, l.pageh, col, row), Queue.push ((l.pageno, gen, cs, angle, l.pagew, l.pageh, col, row),
opaque, size) S.tilelru; opaque, size) S.tilelru;