Comments 25
а где посмотреть рабочий пример?
0
Да, мощно, и ни одной строчки кода (=
+2
Вообще прикол в том что SVG и XAML это один и тот же формат :) например, конверсия из PathGeometry в SVG примитивна — где-то 10 строк кода или около того.
+4
VItus, скажите пожалуйста, может ли wpf качественно и быстро отрисовывать большие карты (со множеством объектов: реки, дома, дороги и прочее, большие полигоны по 20к точек).
С уважением, Kets.
С уважением, Kets.
0
Можно использовать MultiScaleImage(DeepZoom), но он работает только в Silverlight'e. Для WPFа есть вот такой костыль, на сколько быстро он работает не знаю, но DeepZoom работает очень хорошо!
0
Дипзуум не отрисовывает растр из вектора, он просто выводит растр и осуществляет зуум между изображениями разного масштабами…
Отрисовка же через WPF очень медленная(если брать тысячи полигонов), даже если поддерживается ускорение.
Отрисовка же через WPF очень медленная(если брать тысячи полигонов), даже если поддерживается ускорение.
+2
Kets, признаться, с такими полигонами в WPF не сталкивался. Подозреваю, что работать всё-таки будет не слишком быстро :) Хотя может и здесь есть свои «трюки»
0
А откуда у вас в полигонах по 20к точек? Это что за объект такой, если не секрет?
0
Просто у нас на работе как-то попробовали поэксперементировать с WPF, отрисовывает-то он быстро, а вот зум и передвижение — сильно подтупливали. Вот мне и стало интересно спросить у знающего человека. Пробовали на 4-м .NET'е (вроде MS туда добавила кэширование в битмап) — в итоге 4Гб памяти были съедены :)
Поэтому создалось впечатление, что WPF подходит для отрисовки небольшого количества объектов.
Поэтому остались пока на managed direct x.
И спасибо все за ответы.
Поэтому создалось впечатление, что WPF подходит для отрисовки небольшого количества объектов.
Поэтому остались пока на managed direct x.
И спасибо все за ответы.
+1
MDX мертв, советую обратить внимание на SlimDX
0
Столкнулись с аналогичной проблемой, когда делали интерактивную карту на WPF (крутили в 3D).
При запуске анимации зуммирования, иногда появлялись рандомные лаги размером ~ в секунду.
Такое ощущение что в этот момент движек дергал какую-то ресурсоемкую функцию.
Тогда с первых двух попыток отловить причину так и не удалось.
Теоретически, можно конечно поиграться с отпимизациями которые реокмендует майкрософт… — сделать например всему Freeze(), итп (тогда до этого руки так и не дошли).
Но в целом ощущение что в какой-то момент действительно упираешся в возможности движка WPF по количеству объектов. Все-таки оно не для слишком сложных сцен. Для навороченой графики MS рекомендует XNA. :]
При запуске анимации зуммирования, иногда появлялись рандомные лаги размером ~ в секунду.
Такое ощущение что в этот момент движек дергал какую-то ресурсоемкую функцию.
Тогда с первых двух попыток отловить причину так и не удалось.
Теоретически, можно конечно поиграться с отпимизациями которые реокмендует майкрософт… — сделать например всему Freeze(), итп (тогда до этого руки так и не дошли).
Но в целом ощущение что в какой-то момент действительно упираешся в возможности движка WPF по количеству объектов. Все-таки оно не для слишком сложных сцен. Для навороченой графики MS рекомендует XNA. :]
0
Кому интересно, я недавно выкладывал здесь нечто подобное для карты Мира:
habrahabr.ru/blogs/silverlight/64911/
habrahabr.ru/blogs/silverlight/64911/
+1
Может кому понадобится, карта мира в XAML:
sgolubev.com/blog/2009/09/24/world-map-in-xaml/
sgolubev.com/blog/2009/09/24/world-map-in-xaml/
0
Only those users with full accounts are able to leave comments. Log in, please.
Рисуем карту в WPF-приложении