Added a safety thingy that disables autodetection if autodetection consistenly causes lag.
This commit is contained in:
parent
081f8e968f
commit
c35a8c5f59
@ -1,7 +1,10 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
### v2.2.5 (AMO, Chrome)
|
||||||
|
|
||||||
### v2.2.4 (AMO)
|
Added some anti-lag measures. This seems to be an issue affecting _only_ Chrome (and only then some installs), where canvas.drawImage() won't work properly for some reason.
|
||||||
|
|
||||||
|
### v2.2.4
|
||||||
|
|
||||||
Lots of mostly incredibly minor stuff.
|
Lots of mostly incredibly minor stuff.
|
||||||
|
|
||||||
@ -12,7 +15,7 @@ Lots of mostly incredibly minor stuff.
|
|||||||
* Fixed some under-the-hood bugs nobody knew they even existed
|
* Fixed some under-the-hood bugs nobody knew they even existed
|
||||||
* A lil bit of refactoring
|
* A lil bit of refactoring
|
||||||
|
|
||||||
### v2.2.3 (AMO)
|
### v2.2.3
|
||||||
|
|
||||||
* Fixed automatic aspect ratio detection on DRM-protected sites.
|
* Fixed automatic aspect ratio detection on DRM-protected sites.
|
||||||
|
|
||||||
@ -20,7 +23,7 @@ Lots of mostly incredibly minor stuff.
|
|||||||
|
|
||||||
* Fixes problems with switching from normal to fullscreen player on youtube. If 2.2.1 didn't fix the font issue, this version should have.
|
* Fixes problems with switching from normal to fullscreen player on youtube. If 2.2.1 didn't fix the font issue, this version should have.
|
||||||
|
|
||||||
### v2.2.1 (Chrome)
|
### v2.2.1
|
||||||
|
|
||||||
* Fixes few chrome-specific fixes/bugs that v2.2.0 introduced. Maybe fixed the font problem.
|
* Fixes few chrome-specific fixes/bugs that v2.2.0 introduced. Maybe fixed the font problem.
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ var _arSetup = function(cwidth, cheight){
|
|||||||
console.log("%c[ArDetect::_ard_setup] Starting automatic aspect ratio detection", _ard_console_start);
|
console.log("%c[ArDetect::_ard_setup] Starting automatic aspect ratio detection", _ard_console_start);
|
||||||
|
|
||||||
this._halted = false;
|
this._halted = false;
|
||||||
|
GlobalVars.arDetect.autoDisable.eventCount = 0;
|
||||||
|
|
||||||
// vstavimo začetne stolpce v _ard_sampleCols.
|
// vstavimo začetne stolpce v _ard_sampleCols.
|
||||||
// let's insert initial columns to _ard_sampleCols
|
// let's insert initial columns to _ard_sampleCols
|
||||||
@ -1386,7 +1387,15 @@ function _ard_getTimeout(baseTimeout, startTime){
|
|||||||
if( execTime > ExtensionConf.arDetect.autoDisable.maxExecutionTime ){
|
if( execTime > ExtensionConf.arDetect.autoDisable.maxExecutionTime ){
|
||||||
GlobalVars.arDetect.autoDisable.eventCount++;
|
GlobalVars.arDetect.autoDisable.eventCount++;
|
||||||
|
|
||||||
|
if(Debug.debug){
|
||||||
|
console.log("[ArDetect::_ard_getTimeout] Exec time exceeded maximum allowed execution time. This has now happened" + GlobalVars.arDetect.autoDisable.eventCount + "times in a row.");
|
||||||
|
}
|
||||||
|
|
||||||
if(GlobalVars.arDetect.autoDisable.eventCount >= ExtensionConf.arDetect.autoDisable.consecutiveTimeoutCount ){
|
if(GlobalVars.arDetect.autoDisable.eventCount >= ExtensionConf.arDetect.autoDisable.consecutiveTimeoutCount ){
|
||||||
|
if (Debug.debug){
|
||||||
|
console.log("[ArDetect::_ard_getTimeout] Maximum execution time was exceeded too many times. Automatic aspect ratio detection has been disabled.");
|
||||||
|
}
|
||||||
|
|
||||||
Comms.sendToBackgroundScript({cmd: 'disable-autoar', reason: 'Automatic aspect ratio detection was taking too much time and has been automatically disabled in order to avoid lag.'});
|
Comms.sendToBackgroundScript({cmd: 'disable-autoar', reason: 'Automatic aspect ratio detection was taking too much time and has been automatically disabled in order to avoid lag.'});
|
||||||
_ard_stop();
|
_ard_stop();
|
||||||
return 999999;
|
return 999999;
|
||||||
|
@ -68,6 +68,7 @@ async function _uwbg_onTabSwitched(activeInfo){
|
|||||||
// <===[///]----------------------------[\\\]===>
|
// <===[///]----------------------------[\\\]===>
|
||||||
// Check if any frame has a video in it. To enable the popup there only needs to be at least one,
|
// Check if any frame has a video in it. To enable the popup there only needs to be at least one,
|
||||||
// but the popup controls all frames.
|
// but the popup controls all frames.
|
||||||
|
|
||||||
var hasVideos = false;
|
var hasVideos = false;
|
||||||
for(frame of videoFrameList){
|
for(frame of videoFrameList){
|
||||||
hasVideos |= frame.response.hasVideos;
|
hasVideos |= frame.response.hasVideos;
|
||||||
@ -148,6 +149,7 @@ function _uwbg_rcvmsg(message, sender, sendResponse){
|
|||||||
|
|
||||||
config.mode = ExtensionConf.extensionMode;
|
config.mode = ExtensionConf.extensionMode;
|
||||||
config.arMode = ExtensionConf.arDetect.mode;
|
config.arMode = ExtensionConf.arDetect.mode;
|
||||||
|
config.arDisabledReason = ExtensionConf.arDetect.disabledReason;
|
||||||
config.arTimerPlaying = ExtensionConf.arDetect.timer_playing;
|
config.arTimerPlaying = ExtensionConf.arDetect.timer_playing;
|
||||||
|
|
||||||
if(Debug.debug)
|
if(Debug.debug)
|
||||||
|
@ -176,7 +176,7 @@ function loadConfig(config){
|
|||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById("_checkbox_autoArEnabled").checked = config.arMode == "blacklist";
|
document.getElementById("_checkbox_autoArEnabled").checked = config.arMode == "blacklist";
|
||||||
|
document.getElementById("_autoAr_disabled_reason").textContent = config.arDisabledReason;
|
||||||
document.getElementById("_input_autoAr_frequency").value = parseInt(1000/config.arTimerPlaying);
|
document.getElementById("_input_autoAr_frequency").value = parseInt(1000/config.arTimerPlaying);
|
||||||
|
|
||||||
// process video alignment:
|
// process video alignment:
|
||||||
|
@ -112,6 +112,10 @@
|
|||||||
.w24 {
|
.w24 {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.color_warn {
|
||||||
|
color: #d6ba4a;
|
||||||
|
}
|
||||||
.warning {
|
.warning {
|
||||||
/*background-*/color: #d6ba4a;
|
/*background-*/color: #d6ba4a;
|
||||||
/* color: #000; */
|
/* color: #000; */
|
||||||
@ -217,7 +221,7 @@
|
|||||||
if your browser has been opened for a while.</p><p>Keeping check frequency low will make the problem go away (mostly), but aspect ratio corrections will be delayed a bit.</p></small>
|
if your browser has been opened for a while.</p><p>Keeping check frequency low will make the problem go away (mostly), but aspect ratio corrections will be delayed a bit.</p></small>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<p><input type="checkbox" id="_checkbox_autoArEnabled" class="_autoAr_enabled _autoAr"> Enable automatic aspect ratio detection?</p>
|
<p><input type="checkbox" id="_checkbox_autoArEnabled" class="_autoAr_enabled _autoAr"> Enable automatic aspect ratio detection?<br/><small class="color_warn" id="_autoAr_disabled_reason"></small></p>
|
||||||
<p>Checks per second: <input id="_input_autoAr_frequency" class="_autoAr_frequency _autoAr" type="number" min="1" max="999"><span class="button _save_autoAr_frequency _autoAr">Save</span></p>
|
<p>Checks per second: <input id="_input_autoAr_frequency" class="_autoAr_frequency _autoAr" type="number" min="1" max="999"><span class="button _save_autoAr_frequency _autoAr">Save</span></p>
|
||||||
|
|
||||||
<div class="warning"><p>NOTE: increasing the frequency can result in <i>very</i> high RAM usage and slow performance.</p></div>
|
<div class="warning"><p>NOTE: increasing the frequency can result in <i>very</i> high RAM usage and slow performance.</p></div>
|
||||||
|
Loading…
Reference in New Issue
Block a user