1 功能目的以优化存储空间利用为主,不必搞得像文件系统那么复杂。不提供文件格式上的数据补包功能,避免实现的复杂性。
2 使用双哈希值的查找定位算法,数字的比较远快于字符串的比较。对每个包内子文件的名称,进行两种不同算法的哈希,存值。对其中一个值进行排序,获得一个包内子文件数据偏移的索引表,这样就可以使用二分查找算法快速定位子文件数据偏移。另一个哈希值用于解决冲突,如果产生二次冲突(概率极低),则使用子文件名称的字符串来对比解决,这个字符串对于一个包来说,是唯一的。
2008年8月18日星期一
玩下DOOM3
我的那块GeForce 7100GS真烂
Halo开全特效会卡~
几个扩展自Quake系列引擎的FPS游戏特效全开没一个上60帧的~
今天弄个DOOM3装上,设了几下,都没把帧率升到25帧。好久没用Windows了,设置显卡后居然让DOOM3报个“unloding opengl dll”的错误。一时没找着解决方案,先发篇blog抱怨下~
查了半天,据说DOOM3折腾折腾,还是能在7100GS上达到25以上的帧率的。回头弄套正版DOOM3,现在的是盗版,哈哈。
顺便批下英特尔的GMA950,OGL没上1.5,渲染到纹理做起来好麻烦,尤其是Linux下的驱动,才支持到1.3~
靠,我的显卡都好烂……
Halo开全特效会卡~
几个扩展自Quake系列引擎的FPS游戏特效全开没一个上60帧的~
今天弄个DOOM3装上,设了几下,都没把帧率升到25帧。好久没用Windows了,设置显卡后居然让DOOM3报个“unloding opengl dll”的错误。一时没找着解决方案,先发篇blog抱怨下~
查了半天,据说DOOM3折腾折腾,还是能在7100GS上达到25以上的帧率的。回头弄套正版DOOM3,现在的是盗版,哈哈。
顺便批下英特尔的GMA950,OGL没上1.5,渲染到纹理做起来好麻烦,尤其是Linux下的驱动,才支持到1.3~
靠,我的显卡都好烂……
2008年7月29日星期二
Linux下编译Google Test(gtest)附带的五个例子
在http://code.google.com/p/googletest下载到gtest-1.0.1,解压缩。
进入所在目录,如“~/gtest/”,进行编译:
$ ./configure
$ make
编译完成,进入例子所在目录“~/gtest/samples/”,分别编译例子。
$ cd ~/gtest/samples/
sample1:
$ libtool --mode=compile gcc -g -O -c sample1.cc
$ libtool --mode=compile gcc -I../include/ -g -O -c sample1_unittest.cc
$ libtool --mode=link gcc -g -O -o sample1_test sample1_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample1_test
sample2:
$ libtool --mode=compile gcc -g -O -c sample2.cc
$ libtool --mode=compile gcc -I../include/ -g -O -c sample2_unittest.cc
$ libtool --mode=link gcc -g -O -o sample2_test sample2_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample2_test
sample3:
$ libtool --mode=compile gcc -I../include/ -g -O -c sample3_unittest.cc
$ libtool --mode=link gcc -g -O -o sample3_test sample3_unittest.o ../lib/libgtest_main.la -lm
$ ./sample3_test
sample4:
$ libtool --mode=compile gcc -g -O -c sample4.cc
$ libtool --mode=compile gcc -I../include/ -g -O -c sample4_unittest.cc
$ libtool --mode=link gcc -g -O -o sample4_test sample4_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample4_test
sample5:
$ libtool --mode=compile gcc -I../include/ -g -O -c sample5_unittest.cc
$ libtool --mode=link gcc -g -O -o sample5_test sample5_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample5_test
进入所在目录,如“~/gtest/”,进行编译:
$ ./configure
$ make
编译完成,进入例子所在目录“~/gtest/samples/”,分别编译例子。
$ cd ~/gtest/samples/
sample1:
$ libtool --mode=compile gcc -g -O -c sample1.cc
$ libtool --mode=compile gcc -I../include/ -g -O -c sample1_unittest.cc
$ libtool --mode=link gcc -g -O -o sample1_test sample1_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample1_test
sample2:
$ libtool --mode=compile gcc -g -O -c sample2.cc
$ libtool --mode=compile gcc -I../include/ -g -O -c sample2_unittest.cc
$ libtool --mode=link gcc -g -O -o sample2_test sample2_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample2_test
sample3:
$ libtool --mode=compile gcc -I../include/ -g -O -c sample3_unittest.cc
$ libtool --mode=link gcc -g -O -o sample3_test sample3_unittest.o ../lib/libgtest_main.la -lm
$ ./sample3_test
sample4:
$ libtool --mode=compile gcc -g -O -c sample4.cc
$ libtool --mode=compile gcc -I../include/ -g -O -c sample4_unittest.cc
$ libtool --mode=link gcc -g -O -o sample4_test sample4_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample4_test
sample5:
$ libtool --mode=compile gcc -I../include/ -g -O -c sample5_unittest.cc
$ libtool --mode=link gcc -g -O -o sample5_test sample5_unittest.o libsamples.la ../lib/libgtest_main.la -lm
$ ./sample5_test
2008年5月18日星期日
Android SDK初体验心得
1 Eclipse最好使用Java版,而不是Classic版,因为“Android Editors”需要WST。WST是WTP的一个子项目,所以需要安装WTP,WTP的安装是比较麻烦的。而Java版默认附带WTP。
2 建工程时,包名的格式要求比较严格,请使用“com.xyz”这样的名字。“Activity name”就是主类名,“Application name”是程序名,随便写,在机器上跑时能看到。
3 模拟器启动慢到极点,第一次用别以为它假死了。因为模拟器启动慢,每次重新打开再调试的话,我们会毛炸,所以开了就别关吧。用“adb install xxx.apk”这样的命令手动刷新就行了,貌似IDE上没有这个功能。
其它的随便瞄瞄官方文档就可以了。
2 建工程时,包名的格式要求比较严格,请使用“com.xyz”这样的名字。“Activity name”就是主类名,“Application name”是程序名,随便写,在机器上跑时能看到。
3 模拟器启动慢到极点,第一次用别以为它假死了。因为模拟器启动慢,每次重新打开再调试的话,我们会毛炸,所以开了就别关吧。用“adb install xxx.apk”这样的命令手动刷新就行了,貌似IDE上没有这个功能。
其它的随便瞄瞄官方文档就可以了。
2008年3月8日星期六
误删的分区表重建了
“事故”的第二天就搞定了。很简单~
刻了张liveCD,用它启动了机器,然后$sudo gparted把/dev/sda1给拿下1024M的尾部扇区(当然,实际上没有1024M,输入时是这么输入的,程序会自己改动个合适的),做成 swap分区。点“Apply”,gparted会动态地重分区,不伤数据,就是时间上很慢。
现在有swap分区,但光这样不行,开机不会自动给挂上,需要修改个文件:/etc/fstab如其名,它是文件系统表。不过改它需要个UUID,用blkid能看到新建的swap分区的UUID。
另外,还有个/etc/initramfs-tools/conf.d/resume文件,也是要改UUID的。这个涉及休眠后的恢复。还有没有其它需要该的地方我没发现,这几天都用着挺好的。
刻了张liveCD,用它启动了机器,然后$sudo gparted把/dev/sda1给拿下1024M的尾部扇区(当然,实际上没有1024M,输入时是这么输入的,程序会自己改动个合适的),做成 swap分区。点“Apply”,gparted会动态地重分区,不伤数据,就是时间上很慢。
现在有swap分区,但光这样不行,开机不会自动给挂上,需要修改个文件:/etc/fstab如其名,它是文件系统表。不过改它需要个UUID,用blkid能看到新建的swap分区的UUID。
另外,还有个/etc/initramfs-tools/conf.d/resume文件,也是要改UUID的。这个涉及休眠后的恢复。还有没有其它需要该的地方我没发现,这几天都用着挺好的。
标签:
_技术_,
_技术_Linux_,
分区
订阅:
博文 (Atom)