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


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结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
中文字符串截取的js函数代码
Apr 17 Javascript
一个仿糯米弹框效果demo
Jul 22 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
Nov 07 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
Jan 05 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
JS实现的新闻列表自动滚动效果示例
Jan 30 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
VUE解决 v-html不能触发点击事件的问题
Oct 28 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
非常实用的php验证码类
2016/05/15 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
2020/02/10 Javascript
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
python接口自动化框架实战
2020/12/23 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
一份软件工程师的面试试题
2016/02/01 面试题
商务英语本科生的自我评价分享
2013/11/15 职场文书
入党自我鉴定
2014/03/25 职场文书
班干部演讲稿
2014/04/24 职场文书
电子商务专业自荐信
2014/06/02 职场文书
幼儿园课题方案
2014/06/09 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
集结号观后感
2015/06/08 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers