【发布时间】:2014-06-30 06:20:55
【问题描述】:
我目前正在为我的 GUI 元素编写一些代码,并且在编写用于检测鼠标是否在元素内的代码时,我想到了效率,不仅是现在,而且是将来。目前我正在使用 Vector2f 来处理尺寸和位置,因为通过调用 getDimensions 等函数可以轻松地将它们传入和传出函数,这些函数只返回 Vector2f 等等。不过,我的问题是我是否在使用一般的 Vectors 和特别是 Vector2f 时浪费了。在我的对象中为 x 和 y 设置两个浮点数,为宽度和高度设置两个浮点数,或者使用两个向量,一个用于位置,一个用于尺寸。
主要担心的是创建 Vector 对象比仅使用原始浮点数占用更多空间。我查看了 Vector2f 和 3f 类的来源以获得想法,它们似乎很轻,但我对不同对象占用多少内存以及如何确定我会问那些可以更容易理解手头的问题。
提前感谢您的任何和所有答案!
【问题讨论】:
-
您尝试过任何测量方法吗?
-
假设您有 1000 个 GUI 元素(这已经很多),并且每个都有 2 个 Vector2f 实例。一个对象有 8 个字节的开销。这意味着总共有 1000 * 2 * 8 字节的开销。 16 KB 的内存绝对不算什么。
-
我从未尝试过任何形式的测量,也不知道如何进行 358 但如果我这样做了,那将是我会做的第一件事,所以谢谢! JB 谢谢你的信息。开销之类的东西是我不知道的东西,也是我在这里问的原因!
标签: java object memory vector floating-point