游戏过程中正在显示正在加载微信里显示加载更多是什么意思思

posts - 1024,&
comments - 143,&
trackbacks - 0
对于3d视频游戏来说,游戏引擎的性能是至关重要的。玩家在体验一款游戏时,游戏的流畅度是最基本的要求。与单机游戏不同,网络游戏更需要考虑性能问题,因为无法像单机游戏那样,控制游戏元素的复杂度来达到效率的要求。大量玩家涌入同一片区域,同屏出现大量的游戏角色是无法避免的,因此游戏帧率的大幅下降,系统资源的大量消耗也很难避免,这是网络游戏引擎最难处理的问题之一。 &&& 这里要讲一下游戏帧率的控制,通常玩家在玩游戏抱怨游戏客户端卡有两个意思,一是游戏平均帧率很低,二是游戏的帧率非常不稳,导致了卡顿。实际上游戏平均帧率低,对玩家心情的影响远不及卡顿造成的影响。平均10帧的游戏,虽然已经很糟糕了,但是依然能玩,但是频繁的卡顿给人的感觉就糟糕透了,平时40帧左右的游戏忽然因为加载个什么东西卡了一下,帧率掉到了零点几,然后又恢复到40帧,这种卡顿给人的感觉就是烦透了。 &&& 游戏引擎首要解决的性能问题就是卡顿的问题。要解决卡顿的话需要做到以下两点: &&& 第一,不要在主线程去加载资源,最忌讳的操作就是打开文件,这个操作会挂起当前线程,也就是说会让渲染线程停顿。把所有的资源加载操作全放在加载线程去做,毕竟加载线程随便停顿也没什么关系,对主线程的渲染没影响,主线程只需要每帧判断资源是否已经加载上来就可以了。一但发现已经加载上来了,就可以用这个数据去渲染了。 &&& 第二,也是最重要的一点,把加载的操作摊到多帧去做。通常角色走进人堆里以后,或者在战场上魔法漫天飞的时候,服务器会传来大量消息需要处理,最典型的就是创建消息,无论是创建角色还创建特效,就算是采用多线程加载的方式,在一帧内创建对象,通知线程加载底层资源,那么多消息的处理依然会不可避免地造成卡顿。这里有一个非常好的解决办法,就是这些处理消息的操作不要一帧内做完,而是分摊到多帧完成。 &&& 一般说来,处理网络消息的过程是这样一个循环: while( 消息队列中还有消息 ) { && 从队列中取出第一条消息; && 处理这条消息; && 将这个消息从队列中删除; } &&& 在一帧当中,循环遍历整个消息队列,将这一帧收到的消息一个一个处理一遍。 &&& 这样做忽略了最重要的效率问题,当你因为游戏卡顿在焦头烂额地优化资源加载时,不放考虑修改一下消息队列的处理。 &&& 在这里,我可以加入计时:GetTickCount()
初始时间 = GetTickCount(); while( 消息队列中还有消息 ) { && 从队列中取出第一条消息; && 处理这条消息; && 当前时间 = GetTickCount(); && 经过时间 = 当前时间 - 初始时间; && if( 经过时间 & 20 ) && { &&&&& && } } &&& 如果这一帧的处理时间超过了20ms,则把剩下的消息放到下一帧处理。通过这种计时的方式,你会发现游戏的流畅度简直有了天翻地覆的变化!在优化之前,有个几个人在用群攻魔法攻击大量的怪物,这些家伙忽然涌入到视野中,帧率便一下掉到了零点几,游戏出现了非常严重的卡顿,这种状态持续了很短一段时间,帧率又迅速回升上去。而现在,经过修改以后,你会发现那些家伙很平滑地出现在视野中,没有一丝的卡顿。如此效果简直是奇迹一般,而这一切仅仅是修改了几行代码而已。 &&& 现在考虑这么做所带来的问题。如果消息量非常大,而机器又慢,平均帧率又很低的话,那麻烦可就大了:每帧处理的消息量还没有收到的消息量大。这可是个很严重的问题,这会让客户端的表现与实际情况严重脱节。在这里,就需要有一个机制,保证消息在积攒超过一定数量时,能得到及时的处理:
初始时间 = GetTickCount(); while( 消息队列中还有消息 ) { && if( 消息队列中的消息数量 & 300 ) && { &&&&& 一次性处理所有的消息; && } && else && { &&&&& 从队列中取出第一条消息; &&&&& 处理这条消息; &&&&& 当前时间 = GetTickCount(); &&&&& 经过时间 = 当前时间 - 初始时间; &&&&& if( 经过时间 & 20 ) &&&&& { &&&&&&&& &&&&& } && }&& } &&& 这样就解决了消息越积攒越多的问题,当消息越攒越多时,会一次性处理所有的消息。但这样也会带来一个问题,那就是在帧率比较低的机器上,当需要处理的消息特别多时会出现周期性的卡顿。卡顿的原因就是那步一次性处理所有消息的操作。优化的目的就是要避免这样的卡顿,而对于低端机器来说,这样的优化不但没有起到效果,反而加重了卡顿现象。为了弥补这个方法带来的弊端,就要对那个经过时间20ms做点手脚:
static 时间阈值 = 20;&&&& //注意时间阈值是static的 if( 消息队列中的消息数量 & 100 ) { && ++时间阈值; } else { && --时间阈值; } if( 时间阈值 & 20 ) && 时间阈值 = 20; if( 时间阈值 & 40 ) && 时间阈值 = 40;
初始时间 = GetTickCount(); while( 消息队列中还有消息 ) { && if( 消息队列中的消息数量 & 300 ) && { &&&&& 一次性处理所有的消息; && } && else && { &&&&& 从队列中取出第一条消息; &&&&& 处理这条消息; &&&&& 当前时间 = GetTickCount(); &&&&& 经过时间 = 当前时间 - 初始时间; &&&&& if( 经过时间 & 时间阈值 ) &&&&& { &&&&&&&& &&&&& } && }&& } &&& 这里增加了时间阈值这个静态变量,替代了之前代码中的20,使之成为一个由当前帧消息包数量决定的一个可变的值。当前帧消息包的数量超过一个值时,就将这个时间阈值加一,否则减一。这么做的效果就是,消息包来得越多,每帧用于处理消息的时间就越长,也就是说消息处理耗时的比重在逐渐上升。这样就能很大程度上降低消息数量超过上限的可能性。 最差的情况,如果这样做依然有周期性卡顿的话,这台机器真的就不适合运行这个游戏了,退一步讲,不作这个优化的话,这台机器玩这个游戏也依然会卡得要命。:) && 当然,时间阈值的范围,和消息包的数量上限可以调整,以适合于不同的游戏。
阅读(...) 评论()为什么4399生死狙击显示正在载入游戏进不去??_百度知道
为什么4399生死狙击显示正在载入游戏进不去??
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
游戏类认证行家
游戏类行家
采纳数:3543
获赞数:12879
我一般都是20-22点有时间,准时出勤,当兵2年,从事网络行业4年有余,职业选手生涯一年半,家电类略懂。
4399生死狙击显示正在载入游戏进不去。这个是网页游戏的通病,卡在加载或者卡在黑屏界面。有的游戏本身有这种清除缓存的功能, 通常在设置里面,类似自动优化,但是效果不是很好,还有的是直接提示清除缓存,重新加载,这种方法相对上面的效果要好一些。如果运行一段时间游戏后感觉很慢,不放清除一下缓存重新加载游戏。对于没有这种功能的页游来说,可以使用浏览器的功能来解决这种卡顿的问题:对于IE浏览器以IE11为例:点击浏览器右上角齿轮图标--&选择“Internet选项”--&第一页常规页面下方点击删除按钮后如下图--&勾选第二项“临时Internet文件和网站文件”--&点击删除删除完成后重启浏览器重新打开游戏,游戏会重新加载资源。
庸人自扰743
庸人自扰743
采纳数:48
获赞数:64
擅长:暂未定制
可以刷新浏览器,清理电脑缓存,重新进入游戏试下哦~
本回答被提问者采纳
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。lol为什么在加载时突然没了显示游戏正在进行中
按时间排序
1:是不是使用了;lol盒子、大脚这一类的辅助工具;有时候这些辅助工具会导致游戏出错;2、没有使用辅助一就是服务器的问题了;遇到这样问题额人很多;解决方法无非就是:(打开任务管理器(CTRL+ALT+DEL)选择带有LOL项的进程选择删除后重新登录游戏)如还不行可以尝试一下办法:1) 重启游戏;2) 其次就是重启计算机3)再其次就是重新安装游戏!(你先把lol卸载;计算机重启;把lol安装文件夹删除!! 在重新 安装尝试一下!)4)最悲催的就是重新安装操作系统!其实有时候过几天你在玩就好了!!的服务器就是这样神奇
看配置是挺好的,可能是网络问题。
这问题在te5LOL专区里面讲得挺详细的,在攻略大全那块,
在另外一个IP地点有人登陆,而且还在一直登陆!改下密码重新上!
您的配置已经无法满足lol现今的硬件需求了,只要您更新下硬件就能够玩了。有的时候也是因为网络问题,你可以通过下载网易uu加速器,也可以使用其他网络加速器,只是网易的那个不要钱。加速一下会好很多。
这位楼主你好,这段时间,好多这情况,就今天早上,都有 六七个这样的情况了,我昨天也是,重下个最新客户端吧。网上一堆建议,我昨天试了都没用。
和我的一样,更新过后 加载界面就黑屏
在排除配置 网络问题情况下,用360我的专家修复吧望采纳
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?
请输入私信内容:游戏过程中正在显示正在加载是什么意思_百度知道
游戏过程中正在显示正在加载是什么意思
游戏过程中正在显示正在加载是什么意思...
游戏过程中正在显示正在加载是什么意思
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
擅长:暂未定制
游戏问题无非两类硬件原因 宽带原因
如果是在游戏启动时提示正再加载 主要是显卡不行或者内存不够引起的 ,如果是在游戏过程中过地图,半天没反应 提示正在加载那么网速原因可能比较大
如果你地图是从人少的地方到人多的地方(比如主城) 那么显卡和内存的原因比较大
具体情况具体分析
擅长:暂未定制
大多单机游戏提示正在加载,是在加载游戏贴图和模型光影等数据。网游加载是因为服务器的问题
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。下载傲世堂助手App!论坛领银币!!
浏览过的版块
傲世堂貂婵
浏览过的版块
您没有登录,不能回复。
回帖后跳转到最后一页
《铁骑冲锋》傲世堂107服火爆开启

我要回帖

更多关于 搜索老显示加载中啥意思 的文章

 

随机推荐