High memory usage
I experienced high memory usage using exams.vis.ethz
in Safari (v13.0.5). Chrome handles everything perfectly and stays under 200MB.
In some extreme cases the memory usage reached 4.6 GB (extensively loading different exams - during normal usage I only saw values under 3 GB). I have read that there is a hard limit of 1/4 the limit of the total memory for canvas data implemented in WebKit. This is probably related to https://bugs.webkit.org/show_bug.cgi?id=195325. A fix (Setting width = height = 0) is already implemented in split-render at the moment, but not really used that much due to performance concerns. We should probably resize all the canvas elements to 0x0 on Exam unmount. Another idea would be some kind of canvas pooling behavior. It seems like Safari/JavaScriptCore is just really bad at garbage collection canvas elements / contexts.