unreal吧 关注:1,863贴子:2,231
  • 8回复贴,共1

求大家探讨下一个基本都运行效率低问题

只看楼主收藏回复


欢迎大佬解惑


IP属地:河南1楼2022-03-12 10:25回复
    1.你的表述有逻辑问题。没有人好吧cast结果放object里面,这么做短后果就是前面的cast白做了。


    IP属地:江苏来自Android客户端5楼2022-03-15 12:31
    回复
      2.存起来也不见得就有多高效,也不是什么实用的方法,对后续的工作并无实际意义,最后还是得重做。


      IP属地:江苏来自Android客户端6楼2022-03-15 12:33
      回复
        3.测试功能阶段cast用用就行。主要是方便蓝图内部断点测试。测试完了老老实实用接口重写一遍。


        IP属地:江苏来自Android客户端7楼2022-03-15 12:36
        回复
          当然,如果你的主角固定,那么23可以不看


          IP属地:江苏来自Android客户端8楼2022-03-15 12:43
          回复
            蓝图运行在虚拟机上的。
            c++是蓝图5-10倍的效率。
            Epic的本意是使用蓝图进行设计游戏雏形,方便开发沟通、游戏测试、版本迭代。用c++做出发行版本。
            如果遇到复杂的游戏逻辑的时候,用蓝图开发,再用c++做出成品,其余的都用蓝图就没问题了。
            给个非常重要的建议:开发的时候不需要考虑效率问题。更新版本的时候在慢慢调,反正我的游戏优化不会差,差的是玩家的电脑。


            IP属地:四川9楼2022-04-22 15:36
            回复
              加油~~这基本=对性能毫无影响,UE5里各种宏限制性能,比如在游戏模式基础里,你定时器开10万都不卡,也就是0.00001秒一次,而在“控制器”里开1万就卡。性能优化一切你得从设定好的“限制”入手。
              给你复制我尝试出来的:
              测试,关又开勾勾1.5天啦~~发现这样:编辑器设置里,22~60帧改成60~100帧,最低帧改60。
              可让默认帧数翻倍。
              拿ACTOR生成数量举例:光加个胶囊体,只能开2000人就卡,调整碰撞为自定义,可以开10000人30帧。
              此时加入模型开启动画,开个1200人就30帧啦,此时关闭“组件激活”也就是不开动画(哪怕你没设置动画也没用必须关掉“激活”),能开8000人30帧。3万多面数的模型哇,都能开8000个不卡。
              所以模型“几乎不影响”卡机程度,想优化从动画入手,帧数低完全就是UE5默认设置所致(想要完全不卡,直接C++里改代码,从激活这个函数入手,要知道空开胶囊体也只能开1万个,而空开OBJ可以生成100万个都不卡。)。
              2.再说第二个卡机点,绝非模型面数,模型面数影响率居然是其中最低的。你如果设置了“AI控制器”,一般都要设置,不设置没法用很多函数。只要设置了,就只能开300人30帧!!直接从1200人变300人,可想而知,人数上限的优化从来不是面数,而是动画、碰撞、AI控制器、编辑器默认设置(就是哪能调帧数的)、动态光照(关了可以让30帧变40帧)。上述性能影响从高到低。
              而面数,随便你用几万的面数,完全可以说忽略不记,我用3万多面数的开8000人都不卡。忽略不记..因为上述一切如果你都优化好了的话,面数什么的就不用在意!一般都是自己调C++代码,从“组件激活”这个函数入手。激活,在哪里?就在网格体的设置下方,有个叫激活的,你找找。


              10楼2022-08-26 05:04
              回复
                己斯 siki学院-程-序-员-的-梦-工-厂 -------略切


                来自iPhone客户端33楼2022-09-16 15:22
                回复
                  谢谢各位大佬的指点


                  IP属地:河南34楼2023-12-23 14:06
                  回复