2010-05-10 3 views
0

В настоящее время я работаю на очень прохладное Silverlight приложения, которое отображает фотографии в 3D-пространстве стены, как демо Wall3D, выбрасываемый в с Blend, 3.Перф: Просмотр тысячи изображений в Silverlight 3 на 3D стене

проблема, с которой я столкнулся сейчас, - это производительность. Приложение работает следующим образом:

  • Как вы выполните прокрутку вправо или влево 3d-фото стена поворачивается
  • Поскольку каждое движение сделано, следующая колонка фотографий загружаются, декодируется в BitmapImage и бросили в 3D стены Узел.
  • Как вы можете себе представить, пользователи (если вы их позволите) захотите быстро просмотреть фотографии, но проблема у меня есть, я не могу показать фотографии достаточно быстро.

В большинстве случаев это прекрасное приложение, которое работает очень хорошо, но когда альбом содержит более 300 фотографий, вы можете представить себе вид памяти, занимаемую всех классы BitmapImage и как перемещение ползунка можно прыгать с фото 20 на фото 120 за секунду.

Конечно, у нас есть алгоритмы, чтобы не загружать каждую фотографию между ними, но я по-прежнему не могу найти быстрый способ получить фотографии.

Это может быть случай, когда нам нужно выбросить 3D-стенку «отлично для шоу» и перейти к плоской стене DeepZoom, например, к архиву Playboy, который был сделан Vertigo.

Все еще не уверены, дайте мне знать ваши мысли.

P.S. Мы используем Kit3D для всех 3D-работ, использует PerspectiveCamera, Model3DGroup, ModelVisual3D, RotateTransform3D & TranslateTransform3D.

Cheers, Bob.

+0

Я запутался, что вы описали может быть достигнуто с помощью проекции, так почему вы используете Kit3D? – AnthonyWJones

ответ

0

Я предлагаю вам использовать проекционные преобразования с Deep Zoom (MultiScaleImage)

+0

Да, это похоже на способ передвижения, добавляет множество кодов для изменения! Он был первоначально разработан в Silverlight 2, поэтому именно поэтому он использует Kit3D. –