代码改变世界

[置顶]无疆_炎戎的博文导航

2011-05-26 10:44 by 姜 萌@cnblogs, 490 阅读, 0 推荐, 收藏, 编辑
摘要:姜萌,网名:无疆_炎戎(Contract Me:MSN:dokhell@live.cn;QQ:871644901)分布式平台研发,智能家电PCFocus onDistributed Connected SystemBased On ……==============不一般的分隔符===================MY OPEN SOURCEhttp://www.codeplex.com/site/users/view/dokhell曾经的创业时期(2010)高性能服务器架构之路-MongoDB(一):MongoDB快速入门(java版)团队Android小作品Chinchilla Guita 阅读全文

未雨绸缪,Win8 Metro开发实例分享

2012-02-10 17:01 by 姜 萌@cnblogs, 3516 阅读, 3 推荐, 收藏, 编辑
摘要:着手win8metro的东西有一段时间了,在这里用一个实实在在的小游戏设计分享给大家。我使用的开发环境是官方9月份公开的Windows Developer Preview(含VS11 P版),不过某些厂商内部可以拿到Developer Preview Update和Win8 Beta。目前开发语言可以选择C++,C#,Js,vb和其他.NET语言。基础API和.NET BCL几乎差不多,做了很多删减(比如socket),去掉了所有阻塞性的同步api,IO上只有异步api供使用(不过由于c#4.5的await和async,异步代码写起来和同步代码差不多,开发体验灰常不错哦),一些资源路径和使.. 阅读全文

无疆_炎戎的2011跨年总结

2012-01-03 15:29 by 姜 萌@cnblogs, 2366 阅读, 4 推荐, 收藏, 编辑
摘要:2012是传说中的世界末日, 有幸在这个特殊的年份赶上自己的本命年:P 先简要介绍一下自己吧哈哈,07届入大学,11年准时毕业拿证摒除学生身份,虽然不太老,但大学期间非常依赖自主学习与实践,先后搞过native win32(不少已淡忘),java,.net,10年初就已经开始在叫北京工作,先后就职中游在线(先silverlight后java服务器),大头无线(分布式平台研发)和友好互动旗下的一支创业团队(wpf和metro app),业余搞android外快(副业快成事业了~~)。 第一次组团创业曲终人散(这是2010年末的事情,也一起写了) 源于2010年10月,我和两个铁杆同学准备... 阅读全文

史上最牛x---安卓系统监控王盛大发布

2011-09-30 13:56 by 姜 萌@cnblogs, 739 阅读, 0 推荐, 收藏, 编辑
摘要:哈哈,有些夸大其词了。看android市场火的一塌糊涂哥也蛋定不住了,最近一直在业余搞android弄弄外块,目前不接私活,所有app均自己策划,设计,编码,推广,盈利。这个安卓系统监控王是赶在国庆前赶出来的,个人觉得挺不错,废话不多说了,直接上介绍,上图:App介绍内置8大功能模块:进程管理,服务管理,程序包管理,性能测试,垃圾文件清理,硬件识别,智能装机,进程存储动态优化与一体。并且附带widget和通知栏工具,方便您快速了解手机状态并执行常用功能(一键清理、一键内存整理等)APK下载链接http://files.cnblogs.com/wJiang/SysMon.apkhttp://ww 阅读全文

谈CLR的装箱与拆箱

2010-12-29 11:53 by 姜 萌@cnblogs, 2379 阅读, 10 推荐, 收藏, 编辑
摘要:CLR类型系统有两种主要类型—Reference Type和ValueType。前者是在托管堆中被分配内存并接受管理,后者则有两种形态--装箱与未装箱,对于装箱形态的值对象是在托管堆中,未装箱形态的值对象是在栈上分配。 CLR堆上对象和栈上对象的差异 每一个堆上对象都有两个额外的字段,一个是类型引用表的指针,用于实现多态,类似于C++的多态机制,另一个字段是SyncBlockIndex,用于实现CLR线程同步机制。栈上对象则无这两个字段。 装箱的过程 装箱: 在堆上开辟内存,包括2个额外字段+值对象大小。 将值对象复制过去 3.返回新分配对象的地址。 拆箱的过程 1.如果为null, 阅读全文

浅谈缓存的设计与使用注意项(下)

2010-12-28 00:46 by 姜 萌@cnblogs, 1935 阅读, 9 推荐, 收藏, 编辑
摘要:缓存的加载策略--Proactive 和Reactive proactive的策略就是一开始就将所有backing store中的数据加载到进程内存中,这样做的好处是在数据量相对不大的时候会显得很有效率,无需频繁的访问backing store调出数据,并且也不用再代码中判断缓存中是否缓存有数据,是否要从backing store中加载。 reactive策略是“按需加载”,在程序初始化阶段仅加载必要的数据到内存缓存起来,其余数据只有在需要时才从数据库中调出再缓存。这种策略比较保守,缺点是在数据量比较大且频繁访问之初由于要多次频繁的向backing store获取数据,但通常我们使用这种的就 阅读全文

浅谈缓存的设计与使用注意项(上)

2010-12-28 00:13 by 姜 萌@cnblogs, 1749 阅读, 7 推荐, 收藏, 编辑
摘要:memory cache + backing store enterprise libiary中的caching block 在微软pattern&practise团队发布的enterprise library5版本中带有一个caching block,这个缓存块为我们提供了缓存数据大一些列方法。其架构如下图(这里再说明一下:caching block以后会被整合进.net framework之中,enterlib5的后续版本会将caching block剔除): caching block采用的是“内存缓存+backing store”结构(不过backing store是可选的),程序 阅读全文

silverlight游戏设计(四)角色/精灵篇之 -- 精灵的设计

2010-12-26 19:06 by 姜 萌@cnblogs, 1447 阅读, 10 推荐, 收藏, 编辑
摘要:精灵的呈现基础 silverlight的那套api并不是一个为游戏设计的,你找不到现成的”精灵”相关的类。 最简单的精灵用一个Image就可以充当,但游戏中总是存在各式各样的精灵,不同精灵又有不同的逻辑,为了方便设计我们有必要定义一些接口。 呈现器接口—IPresenter IPresenterCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--namespaceSopaco.Silverlight.GameFramewrok.Sprite{// 阅读全文

silverlight游戏设计(二)资源管理篇(补充)--图片帧序列资源包解析与图片资源处理

2010-12-26 17:05 by 姜 萌@cnblogs, 674 阅读, 8 推荐, 收藏, 编辑
摘要:通过在上篇文章中构建的资源管理器和应用的demo,我们已经能够将游戏资源高效的下载过来并进行缓存。那么在资源管理这一块剩下的就是我们定义自己的资源文件结构和解析资源了。本文像大家展示图片资源包的组织和解析,以及涉及一些有用技巧。 StreamResourceInfo 一个mmorp 游戏的资源是非常多且杂的。比如单说玩家职业就可能有5、6种,每种又分性别,对于一个精灵而言,至少要准备是5个方向的帧序列动画图片(比如上,下,左,左上,左下。对于右边,右上和右下用前几种直接翻转即可),而动作上还能细分出站立、跑、战斗、死亡……。所以我们需要对资源进行归并、打包。这样不仅便于项目文件管理,而且还能 阅读全文

silverlight游戏设计(二)资源管理篇(下)--资源的状态通知、管理与缓存

2010-12-24 19:18 by 姜 萌@cnblogs, 1243 阅读, 9 推荐, 收藏, 编辑
摘要:在上篇中,我们实现了一个带有池化、并发连接限制能力的资源下载器,虽然这个下载器能够使我们的游戏动态加载资源并在加载完毕/失败后调用回调方法。但是还是缺乏一些智能。比如我要加载一个game_role_petegg.zip的资源包,如我们有需求:1.对已经下载过的资源不再重复下载。2.下载过的资源要缓存,一方面存在内存中,一方面存在isolatedstorage中。实现这些功能会极大的提高用户体验,所我们有必要设计一个带有缓存控制能力的资源管理器。复用已有的DownloadDelegater搞开发的嘛,不可能每一个需求都单独写一片代码,这要将对象的职责分离清楚,复用还是很容易的。我们定义需求接口: 阅读全文