网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月11日漏签0天
unity吧 关注:51,689贴子:144,816
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 41回复贴,共2页
  • ,跳到 页  
<<返回unity吧
>0< 加载中...

Unity国际性难题

  • 只看楼主
  • 收藏

  • 回复
  • 梦趣恒生
  • 锋芒毕露
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我们团队突然碰到了一个国际性难题,我们把百度翻烂了,国外的网站也翻烂了,貌似没人碰到过这个bug,于是在线求解
我们可以通过其他方式绕过这个问题,但我不解决这个问题心里会一直有个疙瘩
是关于position的一个问题,在画布中为position赋值时,会导致内存不停的往上涨,直至内存溢出而崩溃
我们调试了很久,唯一的解决办法就是把Position赋值给去掉,但我们必须要控制它的移动,使用各种方法去移动这个物体,但都会导致数据溢出,我们用最简单的方法,只在脚本中写一句代码,就是控制Position的移动,但还是数据溢出
出现异常的状况是这样的,在编辑器中,代码执行非常完美,但编译出去后,内存会不断地往上涨,而导致内存溢出的代码就是为position赋值
赋值的物体放在这个层级下方,这个层级下方的物体会很多,可能成千上万个,但只有一个物体会动,而这个物体一移动,就会导致内存拼命往上涨,只要不移动这个物体,内存就会停止
于是我在想是不是position的set访问器里面的代码出了问题,如果是这个出了问题,那么该怎么解决?
理论上来说这片代码是不可能出问题的,因为我们每天都会用这个


  • 一起吃火锅呀
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这简单啊,你把他的子物体去掉,他就不会内存溢出了


2025-08-11 19:59:37
广告
不感兴趣
开通SVIP免广告
  • 走取口末0
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
+=


  • xiaoseguiwan
  • 颇具名气
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最有可能递归爆栈了,快谢谢我


  • 随心自在
  • 小有美名
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你这有点高难度吧,只发这两句代码,谁能猜出是什么原因找个专业人士,把整个项目给人家看看才能分析一下


  • 為你封麥
  • 崭露头角
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不知道你有没有听说过Canvas的重建对性能的消耗


  • 美好的忆
  • 颇具名气
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有一种可能,就是你移动它时它的子都会进行移动,因为移动是很快的在刷新,而每次移动都需要移动成千上万个,假设你一贞执行一次移动,而你的所有这些要移动的物体要两贞周期执行,这样就会越叠越多,可以试着移动它的子子层级,一直往上一层测试,如果在子子子子。。层级没问题那就很可能是这样了


  • lzq580
  • 远近闻名
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不要轻易用可变数据类型做参数,其实我是来水贴的


2025-08-11 19:53:37
广告
不感兴趣
开通SVIP免广告
  • 西域三圣何足道
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用translate有问题吗


  • 柳下白衣_
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
emmm,你这是把上完个物体往上移动呀,建议换种实现方式,而且是递归的,申请的空间不会释放,直到全部都往上移动了。。
这是一种树状图模型,unity移动对象为根节点,其涵盖的所有节点都递归操作一遍。
想了下,有两个建议。
一是换种实现思路,避免出现同时移动多个东西,你或许可以运动摄像头?如果是需要移动一个画布,也可以换个思路,做一个投影摄像头,把要显示的东西通过摄像头记录,再在别的地方投影出来,通过移动这个投影,实现画布的变相移动。
第二种,还是按着原本移动操作思路,不过是对孩子分批移动,把上万个东西,用若干个空对象均分,然后手动for循环来移动空对象,从而实现将原本不断申请的栈在每个空对象移动完都释放掉,理论上空对象数量越多,每次用的内存越少,用时间换去空间
就我个人认为,觉得第一种如果适合你的情况效率是最好的,空间和时间都优,只是移动一个负责投影的对象,并没有对上万个物体于坐标轴进行同时移动,不过可能效果和想要的有区别,因为不知道你这个是什么。
希望我的一些拙劣的想法能对你有些帮助


  • 唯一的办法wdx
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为什么要自己写移动的方法,用translate不行吗?


  • ithasbegan
  • 小有名气
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
懵逼


  • LEOLOVEAILI
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你们应该给 Unitysupport 写邮件的。


  • 一郎大神
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
调profiler看究竟内存耗在哪了呀 有什么好纠结的 既然内存再不停增加自然有东西再不停开销内存 这不是基本常识么


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 41回复贴,共2页
  • ,跳到 页  
<<返回unity吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示