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


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 相关文章推荐
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
jquery中选择块并改变属性值的方法
Jul 31 Javascript
javascript中怎么做对象的类型判断
Nov 11 Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 Javascript
Node.js刷新session过期时间的实现方法推荐
May 18 Javascript
js简易版购物车功能
Jun 17 Javascript
基于jQuery的表单填充实例
Aug 22 jQuery
详解vue-cli中的ESlint配置文件eslintrc.js
Sep 25 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
使用pm2部署node生产环境的方法步骤
Mar 09 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
PHP实现找出链表中环的入口节点
2018/01/16 PHP
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
如何检查一个对象是否为空
2019/04/11 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
Python基本语法经典教程
2016/03/11 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python新手学习装饰器
2020/06/04 Python
python怎么对数字进行过滤
2020/07/05 Python
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
个人求职信范文分享
2013/12/13 职场文书
大学自主招生自荐信
2013/12/16 职场文书
成品仓管员工作职责
2013/12/29 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
2014年残联工作总结
2014/11/21 职场文书
自主招生专家推荐信
2015/03/26 职场文书
年会主持人开场白台词
2015/05/29 职场文书
离婚民事起诉状
2015/08/03 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers