`
kacakong
  • 浏览: 25380 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何实现高性能的WebGame

阅读更多

两款WebGame做罢,终于从一个WebGame的门外汉,变成可以对WebGame略知一二的懵懂之人。这近两年来吸取了很多教训,也积累了一些经验。和以往基于企业应用和普通网站项目不同的是,WebGame逻辑复杂,重视性能,重视漏洞的防范。

由于WebGame的逻辑复杂,必然带来很多复杂的操作,那么如何实现高性能,更是一个巨大的挑战。那么,如何实现高性能呢?

WebGame的运行速度消耗主要体现在以下几个方面:

1. 网页下载速度 :包括JS、CSS、图片、网页源码等。

解决方案:

1) 优化JS写法,并压缩JS的大小。

2)优化CSS写法,并压缩CSS的大小

3)图片部分需要页面美工协作,使用质量相对较低的图片,尽量使用整块的大图片,减少HTTP请求数量。

4)优化的HTML代码

2. 后台运算速度:包括数据库的查询和操作、业务逻辑等。

解决方案:

1)优化数据库的设计,尽量采取数据结构的方式,简化数据库的读写

2)建立自己的业务缓存,把系统设置等常用而又不经常更新的部分放在缓存中。

3 ) 优化业务逻辑的算法,速度优先。

3.服务器速度:包括程序的解析,缓存的设置等。

解决方案:

1) 优化服务的配置,提升服务器的解析能力

2) 设置服务器的缓存模式,减轻服务器的负担

3) 采取集群和分布式,提升服务器的并发能力

8
1
分享到:
评论
6 楼 east_java 2009-04-03  
对于,webgame我还是刚接触。。学习!
5 楼 kacakong 2009-04-01  
lin_style 写道

我认为你的第一点和第二点就完全有问题了游戏开始后,C和S几乎是不通讯的。而且资源大体也是一口气载到C端,一些传输量可以忽略到最小。数据库的压力几乎是不存在的,以现在网民平均分布的情况来看。怎么做我不能告诉你。



欢迎指教,我们也意识到了这个问题,所以,正准备在下一个游戏中采取新的方案,希望可以解决一些性能问题。

不过你说的数据库压力不存在,我不赞同。 可以从架构上和算法上减少数据库的压力,但是不可能完全避免,毕竟WebGame的核心就是逻辑。
4 楼 lin_style 2009-04-01  
我认为你的第一点和第二点就完全有问题了

游戏开始后,C和S几乎是不通讯的。而且资源大体也是一口气载到C端,一些传输量可以忽略到最小。
数据库的压力几乎是不存在的,以现在网民平均分布的情况来看。怎么做我不能告诉你。
3 楼 sdh5724 2009-03-31  
1. 网页下载速度 :包括JS、CSS、图片、网页源码等。

解决方案:

1) 优化JS写法,并压缩JS的大小。

2)优化CSS写法,并压缩CSS的大小

3)图片部分需要页面美工协作,使用质量相对较低的图片,尽量使用整块的大图片,减少HTTP请求数量。

4)优化的HTML代码

实现页面级别的版本控制了么?  就是全部CACHE到客户端。
2 楼 kacakong 2009-03-30  
我们也使用了Mina做SocketServer ,但是,有些是用后台线程监听做的。但是,不能全部依赖后台监听,这样系统压力会很大。

有时候,采用一些障眼法,一样可以达到效果。
1 楼 amozon 2009-03-30  
请教下,后台是不是有很多计时器线程不断在更新数据库?

相关推荐

    WebGame

    通过结合这两者,开发者可以利用Swift的优势创建高性能、交互性强的WebGame。 在构建WebGame时,首先需要理解游戏的基本架构,包括游戏循环、状态管理、输入处理、渲染和碰撞检测等核心部分。Swift的强类型系统和...

    iocp webgame server c++

    同时,该框架也适合个人学习,可以帮助开发者深入理解如何利用C++和IOCP技术构建高性能服务端应用。 【标签】中提及的“服务器框架”是指该压缩包内包含的代码是一个完整的服务器开发框架,包含了必要的结构、类库...

    使用Flex框架开发WebGame

    ActionScript 3.0提供了更强的类型检查、更快的执行速度和更好的错误报告,这在游戏开发中至关重要,因为游戏通常需要高性能和实时反馈。 2. **MXML**:MXML是Flex的声明式语言,用于构建用户界面。它允许开发者以...

    BR大逃杀webgame源码

    高并发下的稳定运行是关键,源码可能包含负载均衡、分布式服务器设置,以及错误处理和日志记录机制。 7. **地图编辑与自定义** 为了增加可玩性,源码可能提供了地图编辑工具,允许玩家或开发者自行设计游戏场景。...

    基于B_S的网络游戏webgame

    7. **性能优化**:针对网络延迟、资源加载等问题进行优化,提供流畅的游戏体验。 #### 四、实例分析 根据给定的部分内容,以下是一些具体的B/S结构的网络游戏实例及其特点: 1. **Ogame**:一款经典的太空战争主题...

    基于CcocsCreator的WebGame实践.pptx

    Cocos Creator的特点在于其易用性和高效性,允许开发者快速构建游戏并实现高性能的游戏体验。 【营销活动需求】 在实际应用中,如篮球活动案例所示,Cocos Creator 可用于制作响应市场推广的互动小游戏。例如,为...

    webgame-cloud

    1. **服务器端开发**:Java的Spring Boot框架常用于构建高性能、高可用性的微服务架构,以支撑大规模在线游戏的需求。通过设计和实现RESTful API,服务器可以处理客户端的请求,如玩家登录、角色创建、游戏状态更新...

    WEBGAME asp网页游戏源代码 《虚拟城市》

    7. **性能优化**:由于ASP是解释执行的语言,可能不如编译语言性能高。为了提高游戏体验,可能需要对代码进行优化,如减少数据库查询次数、缓存常用数据、合理分配服务器资源等。 8. **用户体验**:网页游戏的用户...

    webgame:游戏管理员

    9. **运维与扩展**:随着游戏用户量的增长,后台管理程序需要具备良好的可扩展性和可维护性,能够应对高并发访问,同时也要保证系统的稳定运行。 10. **故障恢复与备份**:定期备份数据库,以防止数据丢失,同时...

    Osori-WebGame:Osori网络游戏引擎项目

    HTML5作为现代网页技术的基石,为开发跨平台、高性能的网页游戏提供了可能。Osori-WebGame正是利用HTML5的特性,如本地存储、Web Audio API和Canvas绘图,来构建游戏环境。这样,开发者可以创建出与原生应用相媲美的...

    wwwroot_horse179_幻想_webgame_wwwroot_游戏_源码.zip

    该压缩包文件“wwwroot_horse179_幻想_webgame_wwwroot_游戏_源码.zip”似乎包含了用于开发或运营一个名为“幻想”的Web游戏的源代码。"wwwroot"是Web服务器上用于存储网站静态资源的目录,通常包括HTML、CSS、...

    Facepunch.WebGame:TypeScript WebGL游戏助手

    Facepunch.WebGame是一款基于TypeScript和WebGL的开源游戏...通过Facepunch.WebGame,开发者能够利用TypeScript的强大特性和WebGL的3D渲染能力,快速构建高性能的网页游戏,同时享受到更安全、更易于维护的开发体验。

    WebGame:全栈网站实践

    在WebGame项目中,Node.js将作为后端框架,处理用户请求、管理游戏数据存储、实现网络通信,确保游戏的实时性和稳定性。 【JavaScript】作为Web的三大核心技术之一,贯穿于整个WebGame项目。它不仅在前端通过React....

    react-webgame:网页游戏与React

    "react-webgame"项目展示了如何将React的特性应用到游戏开发中,实现组件化的游戏结构、高效的状态管理和用户交互。通过学习和研究这个项目,开发者可以掌握如何用React来打造引人入胜的网页游戏体验。

    暂已关闭(没经验,分好像设高了)

    "暂已关闭(没经验, 分好像设高了)"这个标题可能暗示了一个项目或讨论帖由于作者缺乏经验或者设定的难度过高而暂时停止,但我们可以从中提取出一些关于Webgame开发的关键知识点。 首先,提到的“xml读取游戏场景人物...

    WebGame:SSM 25-1

    在本项目"WebGame: SSM 25-1"中,我们主要关注的是构建一个基于Web的在线游戏,利用了现代技术栈的几个关键组件。这个项目采用Node.js作为后端...开发者可以在此基础上进一步添加游戏逻辑、优化性能或增强用户体验。

    黑夜传说webame 源码

    同时,为了处理高并发和实时性,可能还采用了如WebSocket等技术来实现实时通信。 其次,源码中会涉及到网络编程的知识。在Webgame中,HTTP协议是基础,但考虑到实时性,可能还会用到更高效的TCP或UDP协议。网络编程...

    react-webgame

    在这个项目中,开发者利用React的强大功能来创建交互式、高性能的游戏体验。 描述中提到“源代码存储库”意味着我们可以获取到项目的完整源码,这对于学习和理解如何用React来构建Web游戏非常有帮助。此外,“苗条...

    ogame中文源代码(网络转载)

    高性能的游戏服务器需要考虑许多优化因素,如缓存策略、负载均衡等。源代码可能会揭示如何在资源有限的Web环境中最大化游戏性能。 9. **社区与互动** Ogame的成功在于玩家间的互动。通过代码,我们可以看到聊天...

    Erlang的高级特性和应用

    Erlang 以其简洁的代码实现高并发,如单个CPU可以处理16000个并发请求,优于某些顶级的Web服务器。其代码覆盖率工具cover确保了高度的可靠性和低错误率。此外,Erlang支持无缝扩展到多CPU,性能几乎线性增长,并且有...

Global site tag (gtag.js) - Google Analytics