【问题标题】:Perf: Viewing thousands of images in Silverlight 3 on a 3D Wall性能:在 Silverlight 3 中在 3D 墙上查看数千张图像
【发布时间】:2010-05-10 10:31:11
【问题描述】:

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

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

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

在大多数情况下,它是一款运行良好的精美应用,但当相册包含 300 多张照片时,您可以想象所有 BitmapImage 类占用的内存以及移动滑块如何从第 20 张照片跳到另一张照片120 秒。

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

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

还是不确定,告诉我你的想法。

附:我们将 Kit3D 用于所有 3D 工作,它使用 PerspectiveCamera、Model3DGroup、ModelVisual3D、RotateTransform3D 和 TranslateTransform3D。

干杯, 鲍勃。

【问题讨论】:

  • 我很困惑,您所描述的可以使用投影来实现,那么您为什么要使用 Kit3D?

标签: silverlight 3d rendering decoding kit3d


【解决方案1】:

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

【讨论】:

  • 是的,它看起来像要走的路,但需要更改大量代码!它最初是在 Silverlight 2 中开发的,所以这就是它使用 Kit3D 的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 2018-01-17
  • 2011-01-15
  • 2017-11-03
  • 2012-06-03
  • 2011-09-21
  • 1970-01-01
相关资源
最近更新 更多