0

我目前正在开发一个非常酷的 Silverlight 应用程序,它可以在 3D 墙壁空间中显示照片,例如 Blend 3 中的 Wall3D 演示。

我目前面临的问题是性能。该应用程序的工作原理如下:

  • 当您向右或向左滚动时,3d 照片墙会旋转
  • 每次移动时,都会下载下一列照片,将其解码为 BitmapImage 并放入 3D Wall Node。
  • 你可以想象用户(如果你让他们)会想要快速翻阅照片,但我遇到的问题是我无法足够快地显示照片。

在大多数情况下,它是一个运行良好的漂亮应用程序,但是当一个相册包含超过 300 张照片时,您可以想象所有 BitmapImage 类占用的内存类型,以及移动滑块如何在短时间内从照片 20 跳转到照片 120第二。

当然,我们有适当的算法不会下载中间的每张照片,但我仍然无法找到一种快速显示照片的方法。

在这种情况下,我们可能需要扔掉“非常适合展示”的 3D 墙,转而使用像 Vertigo 所做的 Playboy 存档那样平坦的 DeepZoom 墙。

还是不确定,让我知道你的想法。

PS 我们使用 Kit3D 进行所有 3D 工作,它使用 PerspectiveCamera、Model3DGroup、ModelVisual3D、RotateTransform3D 和 TranslateTransform3D。

干杯,鲍勃。

4

1 回答 1

0

我建议您使用 Deep Zoom (MultiScaleImage) 的投影变换

于 2010-05-10T17:41:46.577 回答