flash性能优化

 同屏数量只有600个,2000多个肯定卡 

 这个已经是fp用cpu渲染的极限了 
 如果不进行人物排序,不加鼠标事件,可以到1000个左右
但在游戏中,有很多交互,有很多消息,还有面板的消耗,很难到1K个了 
 特效你可以看作一个角色 
 都是位图渲染 
 所以都差不多,唯一的区别可能是面积不一致
再加上帧频的不同 
 当场景人物过多的时候,如果是全屏面板,场景就不参与渲染了
 恩,我们游戏里有好多全屏面板,如果打开这些面板,停止场景渲染,这样,场景人物再多在渲染方面也不影响帧频 
 怎么停止场景渲染的
是只要盖住就行了?还是需要代码处理下 停止ef监听?
 这个处理起来比较简单
但对于非全屏的面板就复杂一些了 
 非全屏面板,不盖住的地方还是得参与渲染
我这边处理了一下,效果还蛮好
游戏中全局一个EnterFrame,一个Timer 
 这样可以最大限度的降低消耗 
 ef
time里不太准
肯定会很不平滑
尤其是走起路来 
 很多游戏在处理视野中大量人物时,如果隐藏了人物,其实消耗也是非常高的
隐藏了,其实还参与了深度排序,同样也会进行着复杂的as渲染运算 
 这样,对as代码对cpu造成的消耗也是非常高的 
 一般的ARPG同屏幕有500多个位图动画吗?
 这得看动画渲染面积与动画帧频
这两个因素影响最大了 
 透明区域也参与重绘,所以一个人物一个方向的倒影应该单独分离出来,做成一个圈。提出来就少了左上角那个区域的重绘了,1000个人就少1000*那么大的面积

,重绘就是计算,耗CPU的。重绘是按区域重绘,你那资源里面倒影的像素占了大半。

 我现在站在那里不动,形象还是在一帧一帧的播,但是每帧的倒影都一样。如果把倒影拿出来,不动的时候倒影就不用重绘。只重绘形象那个区域。如果方向改变了才去重绘一次倒影 

posted on   防空洞123  阅读(250)  评论(0编辑  收藏  举报

编辑推荐:
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
阅读排行:
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一步一步教你部署ktransformers,大内存单显卡用上Deepseek-R1
· 一次Java后端服务间歇性响应慢的问题排查记录

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示