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


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 DOM操作小结与实例
Jan 07 Javascript
javascript中tostring()和valueof()的用法及两者的区别
Nov 16 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
Sep 23 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
微信小程序返回多级页面的实现方法
Oct 27 Javascript
简单的React SSR服务器渲染实现
Dec 11 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
vue 实现v-for循环回来的数据动态绑定id
Nov 07 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几个数学计算的内部函数学习整理
2011/08/06 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Flask之flask-session的具体使用
2018/07/26 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
PyTorch安装与基本使用详解
2020/08/31 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
物业管理大学生个人的自我评价
2013/10/10 职场文书
数控专业个人求职信范例
2013/11/29 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
调查研究项目计划书
2014/04/29 职场文书
内乡县衙导游词
2015/02/05 职场文书
英语导游词
2015/02/13 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
dubbo服务整合zipkin详解
2021/07/26 Java/Android
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers
nginx配置之并发频次限制
2022/04/18 Servers