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


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 相关文章推荐
纯js实现的论坛常用的运行代码的效果
Jul 15 Javascript
jQuery 选择器理解
Mar 16 Javascript
JS数学函数Exp使用说明
Aug 09 Javascript
将查询条件的input、select清空
Jan 14 Javascript
JavaScript数组去重的五种方法
Nov 05 Javascript
js如何改变文章的字体大小
Jan 08 Javascript
js检查是否关闭浏览器的方法
Aug 02 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 Javascript
JS中offset和匀速动画详解
Feb 06 Javascript
基于Angularjs-router动态改变Title值的问题
Aug 30 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
JavaScript中的this妙用实例分析
May 09 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 方便水印和缩略图的图形类
2009/05/21 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
python函数的5种参数详解
2017/02/24 Python
python实现Decorator模式实例代码
2018/02/09 Python
Python学习小技巧总结
2018/06/10 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
Django 用户认证组件使用详解
2019/07/23 Python
python处理document文档保留原样式
2019/09/23 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
《七颗钻石》教学反思
2014/02/28 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
毕业生班级鉴定评语
2015/01/04 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
世界十大狙击步枪排行榜
2022/03/20 杂记
2022漫威和DC电影上映作品
2022/04/05 欧美动漫