Wakez计算与压缩的思考
大部分人认为,比尔盖茨在1981年说过这样一句话:640K ought to be enough for anybody.(640个kB对任何人来说都应该足够了)。不过后来比尔盖茨否认自己说过这句话。按照咋们的生活经验,大概是这样的:盖茨表达过类似的意思,符合当时最潮的环境(IBM最新PC的存储量),而时过境迁这句话被人玩坏了。
但人们往往忽视了另一个问题:在计算领域,计算复杂度真的与它的内存消耗量成比例吗?举个贴切的场景,今天的手机内存标配都是一两个G,而往往我们发现即便没干什么事,但内存都觉得不够用,这正常吗?
让我们回头再看看盖茨说那句话的场景,那个时候的程序员主要编程语言是汇编和C,对存储极其敏感和珍惜,即使只用64KB内存,他们几乎也能给你一个世界,同时并未让你觉得单调。今天,当我们置身纷繁的应用程序,或许可以反思一点什么。
WAKEZ组织的作品,或许能够帮我们在这种反思中找到一点灵感,他们往往将普通呈现需要几个G,播放长达几十分钟的动画,压缩成KB级,同时并不显得失真。
将图片下载保存到本地后,后缀改为rar,然后解压成三个文件。每个文件都是一个只有64KB的动画,在windows下直接运行即可。比较经典的《彗星撞地球》我完整看过两遍,任何人想想这只是一个64KB的文件呈现的效果,都会觉得十分震撼。
WAKEZ大致的实现办法是采用实时编程,每次动画开始的进度条是个初步解压缩过程,之后会直接进行针对显卡的编程操作,动画虽然是3D的效果,但是其中十分精巧的使用了重复的元素,包括声音效果,但呈现并不乏味。或许,它也昭示了生活的基本原理:复杂不代表高深,简单一样可以极致!
Wakez计算与压缩的思考的更多相关文章
- 驳 GarbageMan 的《一个超复杂的简介递归》——对延迟计算的实验和思考
这是一篇因骂战而起的博文,GarbageMan 在该文章回复中不仅对我进行了侮辱,还涉及了我的母校,特写此文用理性的分析和实验予以回击. 在此也劝告 GarbageMan,没什么本事就别在那叫嚣了,还 ...
- 一道money计算题引发的思考
网友提出一个问题如下 是小学和中学时候学到了增长折线问题,有点像数学问题,不过这个要求用编程来实现,恐怕还是有些逻辑要处理的,话不多说看代码吧 我给出的代码如下 代码清单: <?php func ...
- [CC]点云密度计算
包括两种计算方法:精确计算和近似计算(思考:local density=单位面积的点数 vs local density =1/单个点所占的面积) 每种方法可以实现三种模式的点云密度计算,CC里面的 ...
- [CareerCup] 1.5 Compress String 压缩字符串
1.5 Implement a method to perform basic string compression using the counts of repeated characters. ...
- hexo 博客支持PWA和压缩博文
目标网站 https://blog.rmiao.top/ PWA yarn add hexo-offline 然后在root config.yml里新增 # offline config passed ...
- linux内存源码分析 - 内存压缩(实现流程)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 本文章最好结合linux内存管理源码分析 - 页框分配器与linux内存源码分析 -伙伴系统(初始化和申请 ...
- bzip2 zip 压缩后体积比 0.8:1
1. 对.bz2 后缀文件 跳过不处理 2.逐行同字段的json文件,压缩后大小为原文件的12.81% 测试文件近似认为为逐行json文本数据,没有进行多文件重复测试,没有统计时间: {"u ...
- Gif动图压缩java版
简单说明下,如果不是压缩动图的话只用java本身的包足够实现压缩和截取图片了,为了能够压缩gif动图,这里引用了两个文件 AnimatedGifEncoder 和 GifDecoder, 先用Deco ...
- 【Python】我是如何使计算时间提速25.6倍的
我是如何使计算时间提速25.6倍的 我的原始文档:https://www.yuque.com/lart/blog/aemqfz 在显著性目标检测任务中有个重要的评价指标, E-measure, 需要使 ...
随机推荐
- EntityFramework错误:Unable to update the EntitySet because it has a DefiningQuery
错误截图: 解决方法: 在所操作的数据库表中添加一个主键即可解决此问题
- bootstrap在jsp中的应用
http://www.bootcss.com/ 下载bootstrap的js,css文件: 在jsp中的应用: 第一步: 新建一个web项目 将bootstrap下载下来的文件放入WEB-INF下面的 ...
- Python_猜大小
# 需要在python3上执行 import random def game (capital = 1000): point1 = random.randrange(1,7) point2 = ran ...
- 安装cocoapods及相关问题解决
申明:本博客大部分内容转载自简书http://www.jianshu.com/p/b64b4fd08d3c,但还有些问题博主在这里做了补充. Mac系统版本:10.12.1 一.什么是CocoaPod ...
- TransMac Win系统下制作 OS X启动盘图文教程超详细小白版
1软件安装好后把准备好的8G或者8G以上U盘插到电脑上:右键以管理员身份运行如 <ignore_js_op> 2打开软件后右键先格式化U盘操作如下图 ...
- df命令
http://www.th7.cn/system/lin/201311/46839.shtml http://www.111cn.net/sys/CentOS/86335.htm
- 手机端页面自适应之rem布局
W3C官网上是这样描述rem的--"font size of the root element" . rem布局在移动端发挥的比较好. 阿里团队高清方案: <script&g ...
- visio二次开发——图纸解析之形状
今天有空,下班前补齐解析visio图形形状的方法,包含图形背景色.字体颜色.备注信息.形状数据取值. /// <summary> /// 设置形状的选择属性 /// </summar ...
- Ubuntu GNURadio gr-Radar 的安装
1.安装Ubuntu 进行磁盘管理,设置不少于50G的未分配空间 使用rufus-2.8制作Ubuntu 16.4安装盘 保持U盘插入,重启电脑,开机时进入BIOS设置从该安装盘启动并安装 2.激活w ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...