我正在实施热图以显示所有用户使用Patrick Wied的heatmaps.js点击我的页面.Heatmap是从每个元素的"datapoints"集合加载的.但是加载需要太长时间......
问题描述:
每个数据点都有页面上HTML元素的X,Y坐标和选择器(使用selectorator.js检索).目前我每页得到大约5k点,我需要检查是否有一些元素没有隐藏,所以我们不会显示隐藏元素的热图.
目前我正在使用:
element = $(data.points[i].Element);
element.is(":hidden"))
Run Code Online (Sandbox Code Playgroud)
但这需要大约7秒来检查所有那些很长的点.我已经没有想法如何避免/优化这个问题.
数据点细节:
元素:#pageData> tbody> tr:eq(3)> td:eq(4)> a:eq(0)
Y:0.6546159
X:0.4444231
伪脚本流程描述:
FOREACH(point in allDatapoints)
{
...
calculation of some parameters needed to show on heamapat
...
if (point.element.is(":hidden"))
{
continue;
}
pointsToDisplay.push(point)
}
Run Code Online (Sandbox Code Playgroud)
我也试图获取所有隐藏元素GetSelector()的选择器,但是在selectorator.js中然后只是通过该数组,但它几乎与is(:hidden)函数相同.
我希望这是有道理的.
事实:获取元素的选择器可能需要一些时间,但是反向过程(获取和基于选择器的元素)几乎没有时间. - >所以我不能简单地发送隐藏元素的选择器数组并过滤那些会快得多的元素.
由于 WSL 的空间消耗不断增加,我被迫将 WSL 发行版移至另一个磁盘。
Ubuntu
docker-desktop
docker-desktop-数据
我使用了这些命令。
wsl --shutdown
wsl --export (on all three of those distros)
wsl --import (already on another disk)
现在我的环境运行良好,但AppData\Local\Docker\wsl\data中的ext4.vhdx仍然存在,并且由于仍在使用而我无法删除它。
它仍然被系统使用,这并没有说明太多。
如果我运行磁盘E:WSL --shutdown上存在的所有虚拟磁盘,则会丢失其句柄,而磁盘C:上的虚拟磁盘仍在使用中。
您知道如何找出 WSL 的哪一部分或者它是否是 WSL 正在使用?由于关闭 WSL 不会删除该句柄,因此它可能会被其他东西使用。它不是使用不同磁盘的 docker-for-desktop。
感谢您的建议。