Perf:在 3D 墙上查看 Silverlight 3 中的数千张图像
我目前正在开发一个非常酷的 Silverlight 应用程序,它可以在 3D 墙壁空间中显示照片,例如 Blend 3 中附带的 Wall3D 演示。
我目前面临的问题是性能。该应用程序的工作原理如下:
- 当您向右或向左滚动时,3D 照片墙会旋转。
- 每次移动时,都会下载下一列照片,将其解码为 BitmapImage 并放入 3D Wall Node 中。
- 正如您可以想象的那样,用户(如果您允许他们)会想要快速浏览照片,但我遇到的问题是我无法足够快地显示照片。
在大多数情况下,它是一个运行良好的漂亮应用程序,但是当相册包含超过 300 张照片时,您可以想象所有 BitmapImage 类占用的内存以及移动滑块如何从照片 20 跳到照片 120。第二。
当然,我们有适当的算法来不下载中间的每张照片,但我仍然无法找到一种快速的方法来显示照片。
在这种情况下,我们可能需要扔掉“非常适合展示”的 3D 墙,转而使用像 Vertigo 所做的花花公子档案墙那样的平坦 DeepZoom 墙。
还是不确定,请告诉我你的想法。
PS 我们使用 Kit3D 进行所有 3D 工作,它使用 PerspectiveCamera、Model3DGroup、ModelVisual3D、RotateTransform3D 和翻译 Transform3D。
干杯, 鲍勃.
I currently work on a very cool Silverlight app that displays photos in a 3D wall space like the Wall3D demo that is thrown in with Blend 3.
The problem I am currently facing is performance. The app works like this:
- As you scroll right or left the 3d photo wall rotates
- As each movement is made, the next column of photos are downloaded, decoded into a BitmapImage and thrown into a 3D Wall Node.
- As you can imagine users (if you let them) will want to flip through the photos really quickly, but the problem I have is I cannot display the photos quick enough.
In most cases it's a beautiful app that works really well, but when an album contains over 300 photos, you can imagine the sort of memory taken up by all the BitmapImage classes and how moving the slider can jump from photo 20 to photo 120 in a second.
Of course we have algorithms in place to not download every photo in between, but I still can't work out a fast way to get the photos displayed.
It may be a case that we need to throw away the 'great for show' 3D wall and go to a flat DeepZoom like wall like the Playboy archive one that Vertigo did.
Still not sure, let me know your thoughts.
P.S. We are using Kit3D for all the 3D work, it's using PerspectiveCamera, Model3DGroup, ModelVisual3D, RotateTransform3D & TranslateTransform3D.
Cheers,
Bob.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议您使用带有 Deep Zoom (MultiScaleImage) 的投影变换
I suggest that you use projection transformations with Deep Zoom (MultiScaleImage)