Flash Accelerate

开启FlashPlayer硬件渲染加速

目前為 2014-11-17 提交的版本,檢視 最新版本

// ==UserScript==
// @name        Flash Accelerate
// @namespace   [email protected]
// @description 开启FlashPlayer硬件渲染加速
// @include     *
// @version     1.01
// @grant       none
// ==/UserScript==
/*
  创意来自 gpu-accelerated-flash-player 扩展
  只有当不存在 wmode 参数时才会把 wmode 设置为 gpu,也就是开启FlashPlayer硬件渲染
*/
(function () {
  var wmodeValue = 'gpu';
  var force_direct_gpu = true; /*默认 false,强制 direct 到 gpu,即存在wmode 参数且值为 direct 时也强制开启硬件渲染*/
  var objects = document.querySelectorAll('object');
  var embeds = document.querySelectorAll('embed');
  /*object element*/
  var flag;
  if (objects.length > 0) {
    for (var i = 0; i < objects.length; i++) {
      flag = false;
      for (var ii = 0; ii < objects[i].childNodes.length; ii++) {
        if (objects[i].childNodes[ii].name == 'wmode') {
          flag = true;
          if (force_direct_gpu && objects[i].childNodes[ii].value == 'direct') {
            objects[i].childNodes[ii].value = wmodeValue;
          }
          break;
        }
      }
      /*no wmode param*/

      if (flag == false) {
        var param = document.createElement('param');
        param.name = 'wmode';
        param.value = wmodeValue;
        objects[i].appendChild(param);
      }
    }
  }
  /*embed element*/

  show = function (o) {
    setTimeout(function () {
      embeds[o].style.display = 'block';
    }, 0);
  };
  if (embeds.length > 0) {
    for (var i = 0; i < embeds.length; i++) {
      if (force_direct_gpu && embeds[i].getAttribute('wmode') == 'direct') {
        embeds[i].setAttribute('wmode', wmodeValue);
      } 
      else if (!embeds[i].getAttribute('wmode')) {
        embeds[i].setAttribute('wmode', wmodeValue);
      }
      embeds[i].style.display = 'none';
      show(i);
    }
  }
}) ();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址