Java中最快的数据结构(4D可视化处理)

时间:2010-08-05 23:18:00

标签: java visualization processing performance 4d

我有一个应用程序需要使用可视化框架。我目前正倾向于在Java桌面应用程序中使用Processing。

问题:我需要可视化~500k +状态向量。 4D点 - XYZ和时间(类似GPS)

我需要能够快速轻松地选择时间片,并且能够及时播放它们。我可以使用平面文件或数据库来更改输入。

所以问题是:哪种数据结构最能满足我的需求?我是否将文件读入Arraylists? HashMap的?还是内存数据库?或其他什么?

性能是3D可视化的必要条件。时间超过8小时。因此,并非所有这些都会立即显示出来。

是否有人尝试使用创意编码框架进行此类使用?有什么建议吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

jMonkey提供了一个类似你所描述的场景图。

它保持3D空间的表示随时间变化。我认为通常它用系统时钟测量时间,这意味着你不直接操作它,但我敢打赌你可以插入一个允许你自己指定时间的组件......(即检查您指定时的图表状态。

答案 1 :(得分:1)

使用OpenGL进行处理是一种选择,但如果遇到性能问题,我建议您查看openframeworkslibcinder

它们是c ++,而不是java,但是例如openframeworks 具有与Processing非常相似的语法。

将Matt Swoboda的recode条目与其他处理实现进行比较。

想法是,尝试使用OpenGL处理​​,看看你是否得到了你需要的帧率,否则试试openframewoks或libcinder。

HTH

答案 2 :(得分:0)

2d阵列听起来是个好主意。使用一个很好的排序算法,如quicksort或mergesort,你将能够选择时间片。

答案 3 :(得分:-1)

float [][]vectors=new float[4][500000];

请确保从头到尾排序。保持简单并测试它?