关闭

8月小结8/29--9/4Linq_回调产生GC*待解决

标签: linqquery pending
207人阅读 评论(0) 收藏 举报
分类:

  FlappyBird项目中,在控制鸟沿着贝塞尔曲线飞行的时候,FixedUpdate中有0.6K的GC产生,最后查到的结果的是使用了Linq语句造成的,List.Find方法,而且效率也不高,用时0.02ms。 对内存有要求的移动端可能会有影响,感觉尽量避免使用的为好,偶尔使用还可以,频繁使用还是换个算法的合适.

  项目中添加了事件回调的机制,发现每次回调都会产生GC,有待验证这个GC影响有多大                               ------PS:待解决


今天出现下面一个错误,经过查找,当打开了Profiler时,并 Add Profiler添加GPU Scene时出现的。

 


2016.9.1

今天出现一个奇葩的问题,需求是游戏结束的时候,MainCamera需要从父级脱离出来,不再移动,鸟继续向前飞。在没有插上Oculus眼镜的情况下没有问题,连接上眼镜就不好使了,修改了一下逻辑,当游戏结束的时候,记录下MainCamera的位置,再每帧都赋给MainCamera,发现还有同样不好使。最后想了俩个方案,第一种:游戏结束的时候,把MainCamera放成另一个物体的子物体,好用。第二中方案没有测试,MainCamera不做成鸟的子物体,让它动态的跟随鸟,游戏结束的时候停止跟随,没有测试,应该也是可以的。需要注意的是,不可以直接控制Camera跟随,需要将Camera做成某个物体的子物体,控制Camera的父物体来完成摄像机的跟随和旋转

2016.9.2

DK2 头盔在游戏开始的时候,出现了摄像机朝向不对的问题,应该是在游戏开始的一瞬间,陀螺仪出现抖动造成的。最后在Start函数中强制从新矫正一下好了,InputTracking.Recenter( );



0
0
查看评论

【术】Unity中c#的foreach产生GC的原因分析

总体来说就是Mono的bug。 实际上,即使使用GetEnumerator()和while替换,GetEnumerator构造迭代器的时候,还是会产生GC,只不过量会少很多。 所以如果可以,就用for循环代替应该是最好的方法。 坐等Mono修复此bug
  • zhou8jie
  • zhou8jie
  • 2015-12-24 14:34
  • 2047

Unity中使用扩展方法解决foreach导致的GC

具体原因不详述了,可以见这里。http://blog.csdn.net/zhou8jie/article/details/50324475 对于List这种顺序表,我们解决的时候还是可以使用for代替foreach即可。但是对于非顺序表,比如Dictionary或者Set之类,我们可以扩展方法Fo...
  • zhou8jie
  • zhou8jie
  • 2016-08-25 11:52
  • 1286

Google v8 GC 垃圾回收的简易模拟

<br />#include "stdafx.h" #include <stdlib.h> #include <memory> #include <list> #include <stack> using na...
  • TDGX2004
  • TDGX2004
  • 2010-12-20 19:04
  • 1864

Java JVM 8:垃圾回收(GC 在什么时候,对什么东西,做了什么事情)

在什么时候首先需要知道,GC又分为 minor GC 和 Full GC (也称为 Major GC )。Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和两个 Survivor 区域。那么对于 Minor GC 的触发条件:大多数情况下,直接在 Eden 区中进行分配。如果...
  • hutongling
  • hutongling
  • 2017-04-09 20:39
  • 758

Unity3D里foreach,using和Coroutine的GC问题探究及解决方案

Foreach: 很多Unity3D的优化技巧甚至一些公司的笔试题中都会涉及foreach会产生GC Alloc因此游戏运行时中尤其是在Update里应尽量避免使用foreach的这个注意事项。 foreach真的会产生GC Alloc吗?我们作如下测试:(Unity3D 5.4.0) 创建脚...
  • e295166319
  • e295166319
  • 2016-09-28 19:17
  • 969

【Unity】减少GC回收

字符串连接的处理。因为将两个字符串连接的过程,其实是生成一个新的字符串的过程。而之前的旧的字符串自然而然就成为了垃圾。而作为引用类型的字符串,其空间是在堆上分配的,被弃置的旧的字符串的空间会被GC当做垃圾回收。String连接,使用StringBuilder或String.Format来代替而不是用...
  • chenxuezhi123
  • chenxuezhi123
  • 2015-04-24 18:01
  • 4268

从一起GC血案谈到反射原理

概述   公司之前有个大内存系统(70G以上)一直使用CMS GC,不过因为该系统对时间很敏感,偶尔会因为gclocker导致remark特别长(虽然加了-XX:+CMSScavReengeBeforeRemark参数,但是gclocker会导致remark前的YGC被delay),无法忍受这...
  • red_sky_blue
  • red_sky_blue
  • 2017-03-29 21:45
  • 399

【Unity】 C# 协程 WaitForSeconds产生GC(Garbage Collection)问题

原文链接:http://blog.csdn.net/u010019717/article/details/44948903孙广东 2015.4.9 24:00 先来看看使用协程的作用一共有两点: 1)延时(等待)一段时间执行代码; 2)等某个操作完成之后再执行后面的代码...
  • RICKShaozhiheng
  • RICKShaozhiheng
  • 2016-06-08 11:04
  • 1346

解决JSP路径问题的方法

本文总结了jsp中开头的path,basepath的作用 在JSP中的如果使用 "相对路径"  则有可能会出现问题。因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源的。上面这句话是什么意思呢...
  • woxxq
  • woxxq
  • 2013-05-17 17:25
  • 489

对2017年8月26日(北京时间17日)梅威瑟和麦格雷戈跨界大战的预测

如此有看点的比赛真是忍不住预测一把:和两人分成一样,比赛胜率将三七分或二八分,梅威瑟占大头。这个胜率相对于网上一边倒的分析,给梅威瑟的稍低。下面预测一下比赛过程:整场比赛梅威瑟将较与打帕奎奥那场更加保守谨慎,除非麦格雷格后程体力不支过于消极。第一节(至少前半段)两人互为试探,前四节麦格雷格将大输出,...
  • Super_Tiger_Lee
  • Super_Tiger_Lee
  • 2017-08-26 19:55
  • 281
    个人资料
    • 访问:8509次
    • 积分:303
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类