limit how often the notes window updates presentation states
							parent
							
								
									c02d185cfd
								
							
						
					
					
						commit
						f396b9b871
					
				|  | @ -244,6 +244,9 @@ | |||
| 
 | ||||
| 				} | ||||
| 
 | ||||
| 				// Limit to max one state update per X ms | ||||
| 				handleStateMessage = debounce( handleStateMessage, 200 ); | ||||
| 
 | ||||
| 				/** | ||||
| 				 * Creates the preview iframes. | ||||
| 				 */ | ||||
|  | @ -340,6 +343,37 @@ | |||
| 
 | ||||
| 				} | ||||
| 
 | ||||
| 				/** | ||||
| 				 * Limits the frequency at which a function can be called. | ||||
| 				 */ | ||||
| 				function debounce( fn, ms ) { | ||||
| 
 | ||||
| 					var lastTime = 0, | ||||
| 						timeout; | ||||
| 
 | ||||
| 					return function() { | ||||
| 
 | ||||
| 						var args = arguments; | ||||
| 						var context = this; | ||||
| 
 | ||||
| 						clearTimeout( timeout ); | ||||
| 
 | ||||
| 						var timeSinceLastCall = Date.now() - lastTime; | ||||
| 						if( timeSinceLastCall > ms ) { | ||||
| 							fn.apply( context, args ); | ||||
| 							lastTime = Date.now(); | ||||
| 						} | ||||
| 						else { | ||||
| 							timeout = setTimeout( function() { | ||||
| 								fn.apply( context, args ); | ||||
| 								lastTime = Date.now(); | ||||
| 							}, ms - timeSinceLastCall ); | ||||
| 						} | ||||
| 
 | ||||
| 					} | ||||
| 
 | ||||
| 				} | ||||
| 
 | ||||
| 			})(); | ||||
| 
 | ||||
| 		</script> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Hakim El Hattab
						Hakim El Hattab