用显卡加速,轻松把笔记本打造成取暖器的办法!


Posted in Javascript onApril 17, 2013

最近破事比较多,好久没来这里写异想天开的玩意了。不过今天早上倒是想到个很有趣的东东,所以花了半小时简单的琢磨了会,顺便写点分享下。

天气凉的时候,或者冻手冻脚的时候~ 于是这热乎乎的笔记本正好成了烘手的利器:)

美中不足的是,平时不想它热的时候,风扇总是忽忽的转不停。现在真想让它热,倒是不给力了。

解决办法也很简单,挂个3D游戏在那,特效全开,不热也不行。不过这样很是占用系统资源,不如自己简单的打造个“取暖器”!

电脑里发热最大的硬件无非就是CPU和显卡了。让这两个硬件不停的工作,风扇不狂转都不行~
本打算用vc的写个简单的消耗CPU和GPU的小程序,不过像我这样的jsfans,任何问题都会遐想一下:在web里也能不能实现?结果当然是肯定滴!
现在的浏览器都支持GPU硬件加速了,不如直接用js来实现吧~ 仅仅几行代码就可以搞定!

代码非常简单,就是不停的渲染图片。经过一番精简,干脆把图片也去掉了,直接用一空白的canvas代替。反正我们的目的不是美观,仅仅是让硬件工作,发热!

想试试就点这里:http://www.etherdream.com/FunnyScript/GPUHeater.html (最好用 ie9)

用显卡加速,轻松把笔记本打造成取暖器的办法!

<!DOCTYPE html>
<html>
<head>
<title>Heater</title>
</head>
<body>
Heating...
<canvas id="p" width="512" height="512" style="position:absolute; left:-999px; top:-999px"></canvas>
<canvas id="p2" width="512" height="512" style="position:absolute; left:-999px; top:-999px"></canvas>
<script>
var ctx = document.getElementById('p').getContext('2d');
var src = document.getElementById('p2');

setInterval(function() {
    for(var i=0; i<1000; i++)
        ctx.drawImage(src, 0, 0);
}, 16);
</script>
</body>
</html>


好吧,够简单的代码,不过它确实工作了,风扇开始呼呼作响。
在ie9上,运行的和想象中的完全一致:CPU使用率还不到1%,并且页面最小化了仍在渲染。具体发了多少的热,还得有撸大师说了算。

用显卡加速,轻松把笔记本打造成取暖器的办法!

起先只有40度,不一会儿温度就开始飙升。由于是集成显卡,而且笔记本硬件挨得比较近,所以温度都算到CPU里了。。。

用显卡加速,轻松把笔记本打造成取暖器的办法!

当然啦,我们还可以使用Worker创建多线程,然后执行密集运算,充分消耗CPU资源~
不过“取暖”的同时,为了不影响其他程序的运行,所以这里就不浪费CPU了。
就到谈到这吧。上述代码仅在ie9最理想运行。
目前还是有不少浏览器不支持HTML5以及Worker线程的,为了能让这“在线取暖器”更兼容,下回有空再做个flash版本的,使用stage3D加速GPU,以及异步Shader消耗100%的CPU。。。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - EasyLoader 加载器
Sep 29 Javascript
Javascript代码在页面加载时的执行顺序介绍
May 03 Javascript
js实现动态改变字体大小代码
Jan 02 Javascript
javascript生成随机颜色示例代码
May 05 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
Sep 14 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
回顾Javascript React基础
Jun 15 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
js跑马灯代码(自写)
Apr 17 #Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 #Javascript
动态加载js和css(外部文件)
Apr 17 #Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 #Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
Apr 17 #Javascript
关于eval 与new Function 到底该选哪个?
Apr 17 #Javascript
js实现在页面上弹出蒙板技巧简单实用
Apr 16 #Javascript
You might like
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
python新手学习使用库
2020/06/11 Python
python脚本第一行如何写
2020/08/30 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
2013/06/05 面试题
腾讯公司的一个sql题
2013/01/22 面试题
艺术专业大学生自我评价
2013/09/22 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
护士试用期自我鉴定
2014/02/08 职场文书
企业委托书范本
2014/09/13 职场文书
债务纠纷起诉书
2015/05/20 职场文书
美丽心灵观后感
2015/06/01 职场文书
入党介绍人意见2015
2015/06/01 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
导游词之凤凰古城
2019/10/22 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS