在“现代”统一中“foreach”仍然不好吗(> = 5.4.x)?

2024-01-03

从历史上看,Unity3D 中的禁忌结构之一是使用 c#foreach块,因为循环的每次迭代都会不必要地消耗几个字节的数据。

好奇现代版本是否仍然如此?

我的谷歌搜索和(非常基本的)测试得出了非结论性的结果,我想在这里汲取别人的知识,而不是自己深入进行低级基准测试。 :-)

最近有没有人研究过这个以确定是否仍然有必要避免foreach在Unity3D中?


No, foreach在“现代”统一中不再糟糕,但修复尚未完全发布。

它首先被固定在special build 统一补丁5.3.5p8七月初,您可以从here https://forum.unity3d.com/threads/upgraded-c-compiler-on-5-3-5p8.417363/#n21。这是一个特殊版本,您必须获得该版本才能获得该修复。

现在,Unity 将其编译器升级为Mono 4.4 on Unity 5.5 测试版 https://unity3d.com/unity/beta/unity5.5.0b10版本尚未最终版本。它修复了foreach问题。一旦这个版本在未来几个月内发布,foreach内存分配将成为过去。你仍然可以download https://unity3d.com/unity/beta出于测试目的,但不要发布具有测试版的游戏。

脚本:将 C# 编译器升级到 Mono 4.4。新的编译器仍然 面向 C# 4 和 .Net 3.5,但提供更好的性能和许多 bug修复。

现在已修复,但修复仍处于测试模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在“现代”统一中“foreach”仍然不好吗(> = 5.4.x)? 的相关文章

  • Unity,如何将相机切换到第二个物体的位置?

    我在 Unity 3D 中遇到奇怪的问题 我的想法是找到数组中距离玩家最近和第二近的对象 然后我希望相机移动到最近的物体的位置并看着玩家 但如果玩家和最近的物体之间的距离太小 我希望相机移动到第二个物体的位置 我做了一些编码 但我不知道为什
  • 具有枚举功能的 Unity UI Onclick 检查器

    我有个问题 这是我的检查器窗口 在 On Click 窗口的情况下 我想设置枚举类型的参数 不是字符串或整数 换句话说 我想用 无效GoToNext DATA TYPE类型 但这并没有显示出来 即使我将枚举设置为 SerializedFie
  • 未找到 void com.unity3d.player.UnityPlayer.nativeRestartActivityIndi​​cator() 的实现

    我是 Unity 新手 我正在尝试将 Unity 游戏 它有 ARcore 集成到本机 Android 应用程序中 我可以在新的 HelloWorld 应用程序中启动 unity 但无法在我的真实应用程序 具有其他模块 中启动 注意 当我从
  • UnityARAlignment 在 Unity ARKit 插件中意味着什么?

    UnityAR对齐 https i stack imgur com uwCOI png public enum UnityARAlignment UnityARAlignmentGravity UnityARAlignmentGravity
  • 检测用户是否正在从另一个应用程序播放音乐

    我的游戏有游戏内配乐 如果用户通过 Android 或 iOS 上的媒体应用程序播放自己的音乐 我想暂停音乐 有没有一种方法可以足够有效地在 update 函数中运行 提前致谢 您可以检查音乐是否按照以下描述播放this https sta
  • 如何更改Vuforia AR相机对焦模式?

    我在用Vuforia 6 2 AR SDK对于在Unity中 但是当我在 Android 手机中测试该应用程序时 相机看起来像blurry 我在 Vuforia 的开发者网站中搜索并找到了一些相机对焦模式 但我无法实现 因为该指南适用于较旧
  • 从通用平面获取轴对齐坐标

    标题可能是错误的 因为我不知道足够的数学知识来实际用一个小句子描述我的问题 我有一个 3D 矢量闭环 我将其称为 3D 多边形 我需要对其执行仅 2D 操作 这将返回一个 不同的 2D 点集 我需要将这些新的 2D 点转换回 3D 我目前的
  • Unity 协程在后台停止

    我的问题如下 目前我在 Android iOS 游戏中运行了几个协程 但是当我将游戏发送到后台以便用手机尝试其他操作时 这些协程会停止 只有在我返回游戏后才恢复 有什么办法可以让协程在游戏在后台时继续运行吗 Android 将按设计暂停您的
  • 统一使用单例的最佳方法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道哪种是使用单例实例的正确方法 当我创建一个名为 Manager 的单例类并且它包含一个名为 value 的 int 变量并且我有另一个名
  • Unity3d 协程在 while 循环后停止

    我有一个加载关卡的单例 LevelManager 等待来自新加载关卡的脚本将 GameObject 分配给 LevelManager 然后对其进行处理 我有以下代码 some GameObject calls the loadLevel c
  • 如何将字节数组转换为任何类型

    好的 我看到有人问如何将字节数组转换为int string Stream等等 答案各不相同 我个人还没有找到任何令人满意的答案 这里有一些我们想要将字节数组转换成的类型 UnityEngine Font可以吸收ttf data UnityE
  • Unity3D 播放器在石头上行走

    大家好 我的玩家正在石头上行走并穿过石头 名为 Champ 的玩家有一个 Box Collider 而 Stone 有一个 Mesh Collider 玩家也有刚体 我尝试了我发现的一切 但没有任何帮助我解决我的问题 MovePlayer
  • 为什么宇宙飞船与盒子对撞机相撞后不再回头?

    我希望当发生碰撞时将宇宙飞船转回来 但他们继续前进 开箱即用的对撞机和地形 使克隆船在碰撞时我想返回的脚本 using System using UnityEngine using Random UnityEngine Random usi
  • 使用cachedTextGenerator获取字母的正确位置

    考虑一个Text有许多文本段落 这很容易查找某个字符在哪里 using UI字符信息 http docs unity3d com ScriptReference UICharInfo html 例如 查找所有换行符 TextGenerato
  • 使用 GitHub 时防止将大文本文件添加到提交

    我们想要防止 非常大的文本文件 每个文件 gt 50MB 被提交到git代替git lfs 因为它们夸大了 git 历史 问题是 其中 99 大小差异的原因 这些是 YAML 文件 它们支持通过 Base64 编码进行二进制序列化 我们无法
  • 在速度和距离不一致和/或有噪声的向量之间平滑地进行调整

    我正在可视化一级方程式赛车中提供的 GPS 数据 并尝试以动画方式显示它们在路径上的位置 Formula 1 API 提供矢量坐标和时间戳 但时间戳各不相同 它们的更新时间大约在 100 到 400 毫秒之间 timestamp x y z
  • Unity Transform.LookAt 仅在一个轴上

    我一直在开发一款游戏 进展非常顺利 从这里得到了一些帮助 我再次需要它 所以我正在制作一个 2D 自上而下的射击游戏 我需要我的敌人看着玩家 显然敌人会在所有轴上旋转 因此是无敌的 或者看起来很奇怪 那么 如何让它只在Z轴上旋转呢 另外 如
  • Unity3d 中的多线程脚本调用

    我试图在Unity3d中实现多线程脚本执行 但是Unity库似乎没有提供方法 我们必须使用Mono提供的System Threading 但他们提到 Unity Scripting 不是线程安全的 我可以使用 System threadin
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary

随机推荐

  • 当类存在时ClassNotFoundException?

    我对此有点困惑 Android 正在抛出一个ClassNotFoundException即使有这样的班级 04 20 09 07 50 179 E AndroidRuntime 525 FATAL EXCEPTION main 04 20
  • PHP 浮点模数不起作用

    我编写了一个函数 以便在必要时向数字添加逗号和零 但我陷入了模数函数的困境 根据我的PHP float 877 5 1 0 true 不应该877 5 1 0 5 它提醒你你需要的是什么fmod http www php net manua
  • 如何使用 NLTK 从归纳语法生成句子?

    我有一个 大 解析句子列表 使用斯坦福解析器解析 例如 句子 现在你可以娱乐了 有以下树 ROOT S ADVP RB Now NP PRP you VP MD can VP VB be VP VBN entertained 我正在使用一组
  • AngularJS 可重用模态引导指令

    我是 AngularJS 的新手 我正在尝试实现一个可重用的模式引导程序 这是index html div div
  • 批量/多个 iOS 推送通知代码 - 适用于 2 台设备,但不适用于 100 台设备

    如果我发送到的设备数量为 2 即它们都收到推送通知 则以下代码可以正常工作 但如果我将该限制提高到 100 则不会收到推送通知 我已阅读此内容 看起来我正在正确发送批处理通知 即通过单个连接发送多个请求 连接超时设置得很好且很高 60 秒
  • 为什么我收到“Map”未从“react-leaflet”导出?

    为什么我得到 src components mapComponent MapView jsx Attempted import error Map is not exported from react leaflet 我将其导入到组件中 i
  • 如何检查 Thymeleaf 片段是否已定义

    使用时如何检查 Thymeleaf 片段是否已定义 模板装饰代替包含 技术 https stackoverflow com questions 18896915 thymeleaf templates is there a way to d
  • 可逆哈希函数?

    我需要一个可逆哈希函数 显然输入的大小比输出小得多 以随机的方式将输入映射到输出 基本上 我想要一种将 123 这样的数字转换为 9874362483910978 这样的更大数字的方法 但不是以保留比较的方式 因此如果 x1 gt x2 f
  • Request.Form 抛出异常

    我正在制作 ASP NET Core Web 应用程序 并且我正在通过 HttpContext 从 javascript 文件上传 PDF 文件 因此 当我尝试使用 Request Form File 在服务器端加载文件时 Form 会抛出
  • 地图,测试当前位置是否在折线上或附近

    我正在使用 google Direction api 绘制路线的折线 有谁有检查当前位置是否位于折线上 附近的示例吗 尝试确定用户当前位置是否在该线的 x 米范围内 如果不是 我将提出新请求并重新绘制新路线 Cheers 这是我的解决方案
  • 错误:413 请求太大 - 具有可恢复 MediaIoBaseUpload 请求的 Python Google Drive API

    这似乎遵循其他示例中发现的记录模式在文档中 https developers google com api client library python guide media upload resumable media chunked u
  • iPhone SDK:TableView 中的自定义按钮

    我在表视图中使用自定义按钮 它对我很有用 UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath indexPath UIImage
  • 防止切换组未选择切换 - Java FX

    我有一个带有两个切换按钮的切换组 应如下所示 黄色切换是选定的切换 但是 当我单击选定的切换时 两个切换都会变为未选中状态 如下所示 然后 如果我尝试获取是否选择了切换开关 我会得到一个nullPointerException Boolea
  • 更改滑块时模糊 UIImage

    我尝试过高斯模糊并检查了 stackoverflow 上的所有问题 但没有一个解决了我的崩溃问题 请帮忙 除了高斯模糊算法之外 还有其他方法可以模糊图像吗 我的图像大小是 768x1024 循环迭代 2 1024 768 次 这是不可行的
  • Newtonsoft.json 程序包版本不匹配

    我正在尝试使用SocketIO4Net https nuget org packages SocketIO4Net Client在 net中创建socket io客户端 看来 SocketIO4Net 依赖于 Newtonsoft Json
  • 有没有办法对同一个父级的第 n 个子级 CSS 规则进行分组

    我有以下 CSS 规则 div item62 gt wrap gt cont gt level1 gt div nth child 9 div item62 gt wrap gt cont gt level1 gt div nth chil
  • 如何使用新的目录结构创建新的 Symfony 项目?

    直到几天前 还可以使用以下命令创建一个新的 Symfony 项目新的 Symfony 3 目录结构 https stackoverflow com q 23993295 1001110 跑步时composer create project
  • Android - 为什么 onItemLongClick(...) 返回布尔值?

    来自 Java 背景的我习惯于处理操作 尽管我不太确定为什么该方法需要返回一个布尔值 并且不完全理解网站上给出的解释 如果回调消耗了长点击 则为 true 否则为 false否则 如您所知 ViewAndroid 中的层次结构由树表示 你什
  • 使用默认 Next.js 开发服务器代理到后端

    以前 当我使用 create react app 制作应用程序时 我会有一个setupProxy js将路由与此类似的 API 请求的文件 const proxy require http proxy middleware module e
  • 在“现代”统一中“foreach”仍然不好吗(> = 5.4.x)?

    从历史上看 Unity3D 中的禁忌结构之一是使用 c foreach块 因为循环的每次迭代都会不必要地消耗几个字节的数据 好奇现代版本是否仍然如此 我的谷歌搜索和 非常基本的 测试得出了非结论性的结果 我想在这里汲取别人的知识 而不是自己