|
@@ -202,7 +202,7 @@ TilePrioritizer.insertSortedPanoTile = function (e, t, pano, dir) {
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
-TilePrioritizer.prototype.filterAndPrioritize = function () {//挑选出优先加载的 (有点复杂,没看很懂)
|
|
|
|
|
|
+TilePrioritizer.prototype.filterAndPrioritize = function () {//挑选出优先加载的 pano和tile (有点复杂,没看很懂)
|
|
var e = [],
|
|
var e = [],
|
|
t = [],
|
|
t = [],
|
|
i = [];
|
|
i = [];
|
|
@@ -234,49 +234,59 @@ TilePrioritizer.prototype.filterAndPrioritize = function () {//挑选出优先
|
|
c = this.highSize //2048
|
|
c = this.highSize //2048
|
|
,
|
|
,
|
|
h = this.ultraHighSize; //4096
|
|
h = this.ultraHighSize; //4096
|
|
- this.queueTilesForPano(queue, tileDownloader, this.priorityCriteria.pano, s);
|
|
|
|
- if (this.priorityCriteria.upcomingPanos) {//即将走到的,之前用于导览路线
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.queueTilesForPano(queue, tileDownloader, this.priorityCriteria.pano, s); //把当前pano的512下载了
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (this.priorityCriteria.upcomingPanos) {// 添加即将走到的点(之前用于导览路线)512 tiles
|
|
this.queueTilesForPanos(queue, this.priorityCriteria.upcomingPanos, tileDownloader, s, TilePrioritizer.MAX_UPCOMING_PANOS_TOADD);
|
|
this.queueTilesForPanos(queue, this.priorityCriteria.upcomingPanos, tileDownloader, s, TilePrioritizer.MAX_UPCOMING_PANOS_TOADD);
|
|
}
|
|
}
|
|
i.length = 0;
|
|
i.length = 0;
|
|
- if (this.canDownloadSize(l)) {//l没超过最大size限制的话
|
|
|
|
|
|
+
|
|
|
|
+ //把当前pano角度范围内的tile按照分辨率从低到高加入队列
|
|
|
|
+
|
|
|
|
+ if (this.canDownloadSize(l)) {//1024如果在限制范围内的话
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, l, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, l, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
|
|
- }
|
|
|
|
-
|
|
|
|
- TilePrioritizer.sortPanoTiles(i, this.priorityCriteria.pano, this.priorityCriteria.cameraDirs);
|
|
|
|
|
|
+ }
|
|
|
|
+ TilePrioritizer.sortPanoTiles(i, this.priorityCriteria.pano, this.priorityCriteria.cameraDirs); //排序
|
|
TilePrioritizer.appendQueue(queue, i);
|
|
TilePrioritizer.appendQueue(queue, i);
|
|
|
|
+
|
|
|
|
+ //添加邻近点t 512的tiles
|
|
this.queueTilesForPanos(queue, t, tileDownloader, s, TilePrioritizer.MAX_SCORED_PANOS_TOADD);
|
|
this.queueTilesForPanos(queue, t, tileDownloader, s, TilePrioritizer.MAX_SCORED_PANOS_TOADD);
|
|
i.length = 0;
|
|
i.length = 0;
|
|
|
|
|
|
|
|
|
|
//NARROW :
|
|
//NARROW :
|
|
- if (this.canDownloadSize(c)) {
|
|
|
|
|
|
+ if (this.canDownloadSize(c)) {//2048
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, c, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, c, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
|
|
}
|
|
}
|
|
|
|
|
|
- if (this.canDownloadSize(h)) {
|
|
|
|
|
|
+ if (this.canDownloadSize(h)) {//4096
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, h, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, h, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
|
|
- }
|
|
|
|
-
|
|
|
|
- TilePrioritizer.sortPanoTiles(i, this.priorityCriteria.pano, this.priorityCriteria.cameraDirs);
|
|
|
|
|
|
+ }
|
|
|
|
+ TilePrioritizer.sortPanoTiles(i, this.priorityCriteria.pano, this.priorityCriteria.cameraDirs);//排序
|
|
TilePrioritizer.appendQueue(queue, i);
|
|
TilePrioritizer.appendQueue(queue, i);
|
|
i.length = 0;
|
|
i.length = 0;
|
|
|
|
|
|
- if (this.canDownloadSize(l)) {
|
|
|
|
|
|
+ if (this.canDownloadSize(l)) {//1024
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, l, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, l, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
|
|
}
|
|
}
|
|
|
|
|
|
- if (this.canDownloadSize(c)) {
|
|
|
|
|
|
+ if (this.canDownloadSize(c)) {//2048
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, c, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, c, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
|
|
}
|
|
}
|
|
|
|
|
|
- if (this.canDownloadSize(h)) {
|
|
|
|
|
|
+ if (this.canDownloadSize(h)) {//4096
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, h, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
|
|
this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, h, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
|
|
}
|
|
}
|
|
|
|
|
|
- TilePrioritizer.sortPanoTiles(i, this.priorityCriteria.pano, this.priorityCriteria.cameraDirs);
|
|
|
|
|
|
+ TilePrioritizer.sortPanoTiles(i, this.priorityCriteria.pano, this.priorityCriteria.cameraDirs);//排序
|
|
TilePrioritizer.appendQueue(queue, i);
|
|
TilePrioritizer.appendQueue(queue, i);
|
|
- this.queueTilesForPanos(queue, e, tileDownloader, s);
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.queueTilesForPanos(queue, e, tileDownloader, s); // 如果前面有populateNeighborPanos的话,这步就是加neibour
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
TilePrioritizer.prototype.queueTilesInDirectionForPano = function () {
|
|
TilePrioritizer.prototype.queueTilesInDirectionForPano = function () {
|