各种显卡指标参数查询
[ 2010-05-25 18:25:32 | 作者: Admin ]
Linus曾经(2007年9月)在新闻组gmane.comp.version-control.git里和一个微软的工程师(Dmitry Kakurin)争执过用C还是用C++,当时的那个微软的工程师主要是在做Git的Windows版,但他却发现Git的源码居然是C语言写的,而不是C++,于是他(Dmitry Kakurin)在Linux社区里发贴表示对Linux的不满,语言很直接: Linux之父Linus Torvalds马上跟贴,在贴子中,Linus言辞很直接,直接表明C++是一个很恐怖的语言,他在贴子中说:[quote=][/quote]...
阅读全文...
Pure C as opposed to C++. No idea why. Please don’t talk about portability, it’s BS. (纯C写的,而不是C++,不知道为什么,请别告诉我是为了移植性,这完全是胡扯。)
阅读全文...
在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?
散弹枪编程
这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true!”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是其它更为随意的处理方式,直到最后让这个调用成功。或是被旁边的某个程序员指出一个正确的方法。
如果我们把一个正规的程序员和一个撞大运的程序员放在一起做结对,那么,那个正规的程序可以马上变得发疯起来,并且,可以把正规的程序员的智商降到最低。两个撞大运的程序员不应该在一起做结对编程,这是因为他们的破坏性能造成的伤害会比只有一个还大。
撞大运编程
这是一种比散弹枪编程要温和一些的编程方式,我相信这种方式可能会是大多数程序员都会使用的方式。这种编程...
阅读全文...
散弹枪编程
这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true!”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是其它更为随意的处理方式,直到最后让这个调用成功。或是被旁边的某个程序员指出一个正确的方法。
如果我们把一个正规的程序员和一个撞大运的程序员放在一起做结对,那么,那个正规的程序可以马上变得发疯起来,并且,可以把正规的程序员的智商降到最低。两个撞大运的程序员不应该在一起做结对编程,这是因为他们的破坏性能造成的伤害会比只有一个还大。
撞大运编程
这是一种比散弹枪编程要温和一些的编程方式,我相信这种方式可能会是大多数程序员都会使用的方式。这种编程...
阅读全文...
Ogre的skeleton数据的压缩
[ 2010-04-08 17:26:22 | 作者: Admin ]
今天写了个小程序,将Ogre的skeleton数据压缩了一下,发现原来导出的skeleton有很多的冗余数据,由于之前动画数据时按频率采样,并没有读MAX的关键帧,导致两个关键帧内出现了很多重复的差值数据,只要删除这些冗余的插值数据,即可以实现skeleton的数据压缩。
找到冗余的插值数据的算法简述为,遍历时间轴上的连续的3个关键帧,如果按每个关键帧对于时间的比例,计算第2号关键帧是否正好是1,3关键帧的差值数据,如果是的话就删除此关键帧,然后从头再遍历,再执行上述过程,直到最后找不到可删除的关键帧,或者关键帧数小于3,就停止。
最后将skeleton数据导出,则数据量会小了很多,实验证明原来139KB的死亡动作,最后压缩有只有13KB了。效果基本一模一样。
www.azure.com.cn
找到冗余的插值数据的算法简述为,遍历时间轴上的连续的3个关键帧,如果按每个关键帧对于时间的比例,计算第2号关键帧是否正好是1,3关键帧的差值数据,如果是的话就删除此关键帧,然后从头再遍历,再执行上述过程,直到最后找不到可删除的关键帧,或者关键帧数小于3,就停止。
最后将skeleton数据导出,则数据量会小了很多,实验证明原来139KB的死亡动作,最后压缩有只有13KB了。效果基本一模一样。
www.azure.com.cn










