Optimized syncscroll.js buildMap, make it faster
This commit is contained in:
		
							parent
							
								
									f8ef5341c7
								
							
						
					
					
						commit
						17f89e9bd3
					
				@ -199,6 +199,8 @@ function buildMapInner(syncBack) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    acc = 0;
 | 
					    acc = 0;
 | 
				
			||||||
    var lines = editor.getValue().split('\n');
 | 
					    var lines = editor.getValue().split('\n');
 | 
				
			||||||
 | 
					    var lineHeight = parseFloat(sourceLikeDiv.css('line-height'));
 | 
				
			||||||
 | 
					    var div = sourceLikeDiv[0];
 | 
				
			||||||
    for (i = 0; i < lines.length; i++) {
 | 
					    for (i = 0; i < lines.length; i++) {
 | 
				
			||||||
        var str = lines[i];
 | 
					        var str = lines[i];
 | 
				
			||||||
        var h, lh;
 | 
					        var h, lh;
 | 
				
			||||||
@ -211,9 +213,8 @@ function buildMapInner(syncBack) {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        sourceLikeDiv.text(str);
 | 
					        sourceLikeDiv.text(str);
 | 
				
			||||||
        h = parseFloat(sourceLikeDiv.css('height'));
 | 
					        h = parseFloat(div.clientHeight);
 | 
				
			||||||
        lh = parseFloat(sourceLikeDiv.css('line-height'));
 | 
					        acc += Math.round(h / lineHeight);
 | 
				
			||||||
        acc += Math.round(h / lh);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    sourceLikeDiv.remove();
 | 
					    sourceLikeDiv.remove();
 | 
				
			||||||
    _lineHeightMap.push(acc);
 | 
					    _lineHeightMap.push(acc);
 | 
				
			||||||
@ -260,7 +261,7 @@ function buildMapInner(syncBack) {
 | 
				
			|||||||
    scrollMap = _scrollMap;
 | 
					    scrollMap = _scrollMap;
 | 
				
			||||||
    lineHeightMap = _lineHeightMap;
 | 
					    lineHeightMap = _lineHeightMap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(loaded && syncBack)
 | 
					    if (loaded && syncBack)
 | 
				
			||||||
        syncScrollToView();
 | 
					        syncScrollToView();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user