Unity / RIDER:乘法运算的顺序效率低下?

2024-04-14

骑手 IDE 告诉我以下操作效率低下

        transform.Translate(moveDirection * speed * Time.smoothDeltaTime);

并想将其重写为

        transform.Translate(Time.smoothDeltaTime * speed * moveDirection);

有人知道为什么吗?

都是乘法,有什么区别?

对于某些上下文,这里是 speed 和 moveDirection 的值

private Vector3 moveDirection = Vector3.left;

private float speed = 2.5f;

我有点困惑为什么它更好?

有人可以帮忙吗?

Thanks


Vector3 有 3 个分量。 X、Y 和 Z。

将 Vector3 乘以一个值会将其分量乘以该值。

由于向量旁边有 2 个值,因此顺序对结果不重要,但对操作数量重要。

这是因为向量优先将导致 3+3=6 乘法:

  1. X*=speed
  2. Y*=speed
  3. Z*=speed
  4. X*=time
  5. Y*=time
  6. Z*=time

而向量最后将是 1+3=4 次乘法:

  1. 比例=速度*时间
  2. X*=scale
  3. Y*=scale
  4. Z*=scale

不管怎样,这只是 Rider 对性能的偏执,而这种程度的优化虽然总是受欢迎的,但在大多数情况下绝对不需要。

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

Unity / RIDER:乘法运算的顺序效率低下? 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 使用 C# 读取 Soap 消息

  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • IVY 部分的循环依赖

    在一个项目中 我想将我的库切换到ivy部分编译模式 角度12 但现在遇到了一些令人讨厌的循环依赖错误 Error 从例子 Compiling with Angular sources in Ivy partial compilation m
  • 为什么字符串不等于存储的内容?

    这是一个简单而奇怪的问题 if tableViewNum One if drinkArray objectAtIndex 0 currentDate updatedArray addObject drinkArray NSLog MADE
  • 为什么我的 ViewController 重新打开后不显示另一个 SKScene?

    所以现在我正在编写一个游戏 但遇到了一个我没有真正找到解决方案的问题 我会尽力为你描述它 所以 为了能够更好地解释我的问题 我为你们创建了一个示意图 现在问题是 我有两个视图控制器 一个称为MenuVc 另一个称为GameVC In Gam
  • ant命令不生成apk文件

    我正在使用 Ant 构建我的应用程序 我的应用程序使用库项目 所以首先我在命令行中运行以下命令以在我的项目中生成 build xml 安卓更新 项目 target 5 p 我的项目路径 l 我的库项目路径 我的应用程序的构建目标是 4 0
  • 将常见的剃刀助手移至另一个文件

    我有一个 MVC4 Web 应用程序 目前有一些 helper是我在多个页面上使用的 在 cshtml 中定义 问题是 我必须在使用它们的每个页面上定义它们 是否有可能创建一个 cshtml包含我所有的文件 helper并将该页面包含到我的
  • 如何永久添加Python导入路径?

    我知道我可以像这样添加 Python 的导入路径 import sys sys path append path to directory 但是 当我重新启动 Python 时 这个问题就消失了 如果我必须一直这样做 我会觉得很烦人 我想一
  • 使用 Jenkins xUnit 插件显示 QTestlib 的结果

    我正在尝试将 Jenkins xUnit 插件用于我的 Qt 单元测试项目 但我无法使其工作 这是我到目前为止所做的 首先 我使用 qmakebuilder 插件构建我的单元测试项目 向 qmakebuilder 插件提供 pro 然后添加
  • 如何使用 Selenium 获取网站的图标

    我需要获取网站的图标 我怎样才能做到这一点 您将无法使用 Selenium 获取网站图标 您必须使用另一个程序来获取它 您获得它的唯一方法是您的网站将 favicon ico 呈现为链接 例如 然而 通常网站只是将 favicon ico
  • OpenDDS - 从单个 IDL 结构创建多个主题

    在我的练习中OpenDDS我想从单个 IDL 结构创建多个主题 这可能吗 否则请让我知道该怎么做 我是按照下面的方法做的 如果不对请指正 我使用的示例可在OpenDDS 3 12 examples DCPS IntroductionToOp
  • 这里 return true 或 false 有什么区别?

    form submit function alert this serialize return false return true 这个表单提交函数和return有什么区别false and true 如果你回来false从提交事件来看
  • 如何在 playbook 中使用 Ansible Tower 登录凭据?

    是否可以使用我用来直接在剧本中登录 Ansible Tower 的凭据 是的 您可以通过使用 保存您的凭据 来完成此操作安西布尔塔 Ansible Tower 上的凭证类型 从 Ansible Tower UI 中 转至 Credentia
  • Perl 脚本中的大小写敏感性 - 如何使其不敏感?

    我如何更改以下马尔可夫脚本以将大写和小写单词视为相同 整个想法是帮助提高马尔可夫文本生成器的输出质量 就目前情况而言 如果您在其中插入 99 个小写句子和 1 个大写句子 您几乎总是会在输出中找到大写句子的非标记化版本 Copyright
  • 解析期间强大的库存

    当我开始使用我的应用程序上传文件时 它会在第一步后存储 上传功能代码如下 exports upload function req res var form formidable IncomingForm console log Upload
  • 实体框架 4.0:错误 113:多重性在角色中无效

    我在数据库中放入了一个新表 并且有 4 个表与其有外键关系 我以为我以相同的方式配置了所有 4 个 但我收到此错误 错误 15 错误 113 多重性在关系 FK OtherLeaves ReportCellImages 中的角色 Repor
  • 如何在 JTSAGE 日期选择器中仅显示日期之前

    I use Jtsage http dev jtsage com jQM DateBox2 我的移动应用程序 jquery mobile 和phonegap 中的日期选择器 我只想显示今天和今天之前的日期 hide future dates
  • 如何逐像素绘制任意方向的椭圆?

    我必须逐像素绘制任意大小和方向的椭圆 绘制一个长轴和短轴与 x 轴和 y 轴对齐的椭圆似乎很容易 但将椭圆旋转任意角度似乎更棘手 最初 我认为绘制未旋转的椭圆并对每个点应用旋转矩阵可能会起作用 但似乎这可能会导致舍入错误 而且我需要相当高的
  • C 中函数指针的初始化

    我有这个功能 uint8 t Authorization getRole char const userId UsertoRole T const roleTable 在主程序中我有 given Role Authorization get
  • 如何在另一个类中访问一个类的成员函数?

    我无法访问另一个类中一个类的成员函数 尽管我可以在 main 中很好地访问它 我一直在尝试扭转局面 但无法理解我做错了什么 任何帮助 将不胜感激 这是生成错误的行 cout lt lt n nRetrieve key from inside
  • Github 存储库 - LockFile 存在

    我最近尝试通过 GitHub Desktop 提交到我的存储库 并被告知有一个锁定文件阻止我这样做 我不记得上传过这个锁定文件 也不知道它来自哪里 可能有其他人同时推动吗 否则 只需尝试存储更改 移动到另一个分支 返回 应用存储并再次推送
  • Unity / RIDER:乘法运算的顺序效率低下?

    骑手 IDE 告诉我以下操作效率低下 transform Translate moveDirection speed Time smoothDeltaTime 并想将其重写为 transform Translate Time smoothD