2008年8月23日星期六

Innov8创意沙龙归来

  终于去了次传说中的798,在会场上听了Tinker hatfield的演讲,在中国把中西方的文化综合,确实是一件很有意思的事情。结束后在798园内转了转,看了看小众艺术家的作品,总体感觉有点颓废,让人有悲凉的感觉。

2008年8月19日星期二

使用SIMD优化

  之前使用过SIMD指令对程序进行优化,压榨CPU的感觉就是好啊,这个链接作为介绍应该是足够的,其次,在使用时,通常也需要对原有算法做些适应性修改,可能最常见的就是修改内存布局和最大限度的利用并行计算了,直接写asm是挺痛苦的,尤其是比较长时(单代码段上千行),MS有一组的封装函数,直接可以用函数式的调用来使用SIMD指令集,据说比非最优化的asm版慢不了多少,MS一片苦心啊,MSDN的示例代码也里有个画曲线的例子,挺直观。对于大面积的整数/浮点运算,真是个很直白的优化手段。

2008年8月15日星期五

One Day, One Race, One Million Runners

  中午吃完饭去注册了Nike+ Human Race,08年8月31日,这个活动简直太Cool了,一万米,全球一起动,想想都兴奋,真想在办公室狂吼一会儿!
08.31.08
RUN
AGAINST YOUR BEST FRIEND
RUN
AGAINST YOUR WORST ENEMY
RUN
WITH PEOPLE YOU DON'T KNOW
RUN
FOR YOUR STREET
RUN
FOR YOUR CITY
RUN
FOR YOUR COUNTRY
RUN
FOR YOURSELF
RUN
FOR GOOD

2008年8月13日星期三

FreeType2使用总结

  之前用过一段时间freetype2,其实已经过了很久了,突然想起来应该总结总结,在这里记录下来。
  freetype2是个纯c实现的字体引擎,在非标准的表面上绘制字体这是个不错的选择,它非常干净,只负责生成字形信息(灰度图或按位存放的点阵图),后面具体的绘制交给开发人员,你可以往任意的表面自己实现绘制。
  使用起来很简单,看官网的小例子学起来应该很快,就这么几步,初始化、加载字体文件、得到单字索引、得到AA(反走样图,一个点一个byte)图或Bit图(一个byte里每一位一个点,当字号小时,AA不生效,自动会变成这种模式),得到这个字形图后,就可以绘制了,描边也简单,AA图的描边可以用freetype2里的FT_Stroke,Bit图麻烦点,可以参考photoshop的效果自己写一个,也不麻烦。
  实际用起来效率是要注意的,因为生成一个字形是很慢的,需要把生成过的字形信息全cache起来,可自己写个,或者直接使用freetype2较新版本带的FTC系列函数进行处理,索引和字形图分别用FTC_CMapCache和FTC_ImageCache进行缓冲。
  另外一个麻烦点的地方就是文字排版,虽然每个字形信息上带了left和top(这个top不是传统想像中的top,是字笔画实际top到底的距离),但描边时我却没找到方法怎么得到这两个值,于是我手工扫描了字形信息,将空白的无用区域“cut”掉,其实只是在它的buffer、top、left上算一个自己的修正值,这样就能保证两张图对的上了,在这个过程中,可能会需要修改freetype2,我也懒,buffer用来做左和上的偏移,width和rows的修改没什么,只要pitch不变,也没关系,这样的好处就是不用改动它的内存管理,同时也做了自己的修正。
  freetype2源码内部的内存及对象处理都是用的结构内存技巧去做的,一开始还有点不习惯,后来感觉这样也挺清晰,还有就是c,很少实际去用c,和c++细节还是有些区别的。
  其次win32也有类似GetGlyph的函数,但没试过,不知道效率和质量怎么样,网上有个gdi++,就是用freetype2替代win32内置字体绘制。

我就是

  之所以起这个标题是因为刚看到一个Nike的宣传flash,平时不太经常点广告性的东西,有两个厂商印象不错,一个是Sprint(呵呵,不是sprintf),另一个就是Nike,他们都会在网上放一些很精致的flash做宣传,如Nike这个,给人的感觉很好,抛开商业活动的本质不谈,如果只看其过程,很是让人振奋,“我就是”,是坚持,是肯定,后面的几个描述也很想记下,“我是专注!我是奋斗!我是决心!我是历练!我是顽强!我是力量!我是自信!我是突破!我是投入!”,是很简单的道理啊,如不能时常回忆而抛之脑后,就遗憾了。感谢Nike,给了我这样的提醒!
  近期说来也不算很顺,一直很忙,有些人加了后聊的很少,昨日与o6z老师聊了下,谈了些自己内心的困惑,也有些结果,毫不含糊的,对自己的心理到生理进行分析,大家无非都是有血有肉的,关键是真实的感受。我昨天回去路上和今天上班路上都在想这个,想想后,感觉现在重点的无非还是历练自己,这点算什么呢?保证心态平和,稳步前进吧,上周末在看了些新买的佛学书,四法印,诸行无常,第一条就是教人如何面对和保持心态,要好好实际体验而不是体会了。对于之前的一些尝试,有不足的地方,我要继续try!
  我是专注!我是奋斗!我是决心!我是历练!我是顽强!我是力量!我是自信!我是突破!我是投入!

2008年8月10日星期日

程序员的圈子

  自从在社区里结交到各种朋友后,就非常喜欢参加各种小众社区的聚会,现在想来,收获成长了不少,自上次跟朋友聊到创意和实践的联系后,就发现,自己一些构思想了却没有精力试了,也许是最近太忙了,一空下来就想睡觉,连和朋友聊的时间都少了,呵呵,真不知下次碰到了,提起近况可真无聊。
  越来越有一种想法,分享创意!如果搞的好,也可让各种创意点子良性发展。

2008年8月3日星期日

龟爬

  晚上做点东西才反应过来,最近实在太忙了,很多事都没怎么进展,工作上吧,630完了搞730,结束还有830等等,永远都是每个阶段压120%的工作量,固定式的加班到11点以后,还有种种细节上的不爽,哎,看来是哈哈哈哈,也没啥办法解决了,目前看也只能加倍努力了,我真是无耻到极点,这种事还说出来抱怨,但大多数情况下,确实说出来更舒服些,如果没副面的坏处的话:)
  我很想在9月前......