gpu acceleration of the flash player

This script is based on the method of incorporating a certain value of the "gpu" attribute "wmode" flash object. Includes gpu acceleration of the flash player. Solves problems with lags of the flash player when watching videos and streams. Works on all websites that use flash technology.

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name        gpu acceleration of the flash player
// @namespace   spieler17
// @description This script is based on the method of incorporating a certain value of the "gpu" attribute "wmode" flash object. Includes gpu acceleration of the flash player. Solves problems with lags of the flash player when watching videos and streams. Works on all websites that use flash technology.
// @include     http://*
// @include     https://*
// @version     3.7
// @grant       function
// ==/UserScript==

var run_time_max = 2;
var wmode_value = 'gpu';
var toggle = function (o) {
if (o) {
   o.setAttribute('fa-sign', 1);
   var display = o.style.display;
   o.style.display = 'none';
   setTimeout(function () {
   o.style.display = display;
    }, 0);
  }
};
var replace_node = function (o) {
if (o) {
   if (o.type !== 'application/x-shockwave-flash') {
   } 
   else {
   clone = o.cloneNode(true);
   clone.setAttribute('fa-sign', 1);
   o.parentElement.replaceChild(clone, o);
    }
  }
};
var run_time = 1;
var find_wmode = function (t) {
   for (var i = 0; i < t.length; i++) {
   if (t[i].name === 'wmode' || t[i].name === 'wMode') {
   return t[i];
    }
  }
   return null;
};
var interval = setInterval(function () {
var objects = document.getElementsByTagName('object');
var embeds = document.getElementsByTagName('embed');
console.log('run_time', run_time, location);
if (run_time === run_time_max) {
   clearInterval(interval);
  }
   run_time = run_time + 1;
   if (embeds.length > 0) {
   for (var i = 0; i < embeds.length; i++) {
   if (embeds[i].clientWidth < 1366 || embeds[i].clientHeight < 768 || embeds[i].type !== 'application/x-shockwave-flash') {
  } 
  else if (embeds[i].getAttribute('fa-sign')) {
  continue;
  } 
  else {
  embeds[i].setAttribute('wmode', wmode_value);
  replace_node(embeds[i], objects);
  }
  }
  }
  if (objects.length > 0) {
  for (var j = 0; j < objects.length; j++) {
  if (objects[j].clientWidth < 1366 || objects[j].clientHeight < 768 || objects[j].type !== 'application/x-shockwave-flash') {
  } 
  else if (objects[j].getAttribute('fa-sign')) {
  continue;
  } 
  else {
  var d = find_wmode(objects[j].childNodes);
  if (d) {
  d.value = wmode_value;
  } 
  else {
  var e = document.createElement('param');
  e.name = 'wmode';
  e.value = wmode_value;
  objects[j].appendChild(e);
  }
  replace_node(objects[j]);
  }
  }
  }
}, 1366);