You are not logged in.

#51 2010-03-20 15:30:24

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Немного программёрской практики. Программа навигатор для КПК

На самом деле скорость выполнения такая же, как и у кода C++.
Другое дело скорость запуска, когда должен сначала загрузиться фреймворк. Это особенно важно для КПК. Хотя там и compact framework. :3

Last edited by Hind (2010-03-20 15:32:15)

Offline

#52 2010-03-20 16:27:19

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: Немного программёрской практики. Программа навигатор для КПК

Hind wrote:

На самом деле скорость выполнения такая же, как и у кода C++.
Другое дело скорость запуска, когда должен сначала загрузиться фреймворк. Это особенно важно для КПК. Хотя там и compact framework. :3

Обожаю тезисы, начинающиеся словами "на самом деле" tongue

Offline

#53 2010-03-20 16:37:40

Garikk
Member
Registered: 2010-01-22
Posts: 48
Website

Re: Немного программёрской практики. Программа навигатор для КПК

x10kHz wrote:

Я когда-то тоже кодил на шарпе и считал его мега крутым языком и вообще платформой.
Помнится мне нравилось там быстро формы делать, всякие модные фитчи студии в этом очень помогали... кодить удобно)
Но политика майкрософта и запуск этого IL-кода на виртуальной машине мне очень не нравились.

На мой взгляд шарпом нужно просто "переболеть"))

Нужно не путать назначение этого средства программирования...  .NET это аналог-конкурент Java, а главная ниша продуктов написаных под виртуальные машины это монстроподобные энтерпрайз-приложения. ... никогда бы раньше не подумал, пока не столкнулся с банковским софтом...раньше тоже казалось что весь серьёзный софт пишут на  C и Cpp ...ан нет...

И нет идеального языка, к которому надо придти "переболев" неправильными smile

Я например, волею судьбы, выучил язык 1С 7.7 .... у меня после этого кардинально мнение поменялось в отношении его (а ведь очень многие его считают бейсиком на русском языке)

Для каждой задачи есть свой инструмент... и если C++ выбирать только потому что "он быстрее работает"...то это просто странно.


Russian Railways Forever!

Offline

#54 2010-03-20 16:51:52

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: Немного программёрской практики. Программа навигатор для КПК

Garikk wrote:

Для каждой задачи есть свой инструмент... и если C++ выбирать только потому что "он быстрее работает"...то это просто странно.

А с Вашей точки зрения для данной задачи какой инструмент стоит выбрать?

Offline

#55 2010-03-20 17:09:09

Garikk
Member
Registered: 2010-01-22
Posts: 48
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Ivan Komarov wrote:

А с Вашей точки зрения для данной задачи какой инструмент стоит выбрать?

Ну я не сильно то профессиональный программист smile И опыта написания программ для КПК у меня нет. Поэтому мне сложно чтото посоветовать.


Russian Railways Forever!

Offline

#56 2010-03-20 17:17:22

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: Немного программёрской практики. Программа навигатор для КПК

Что касается меня, С++ в решении данной задачи привлекает потому, что
1. Я с ним 10 лет маюсь smile
2. Пероносимость
3. Таки я полагаю, что на нем можно сделать не менее быстрый софт, чем на других языках, а в обратном - я не уверен.
А вот что плохо - опыта в написании для КПК тоже нет sad
Кстати, что думает общественность насчет рендеринга на OpenGL? в этом может быть какой-то смысл, или не стоит даже думать об этом?

Last edited by Ivan Komarov (2010-03-20 17:21:24)

Offline

#57 2010-03-20 18:21:39

x10kHz
Member
Registered: 2009-10-06
Posts: 138

Re: Немного программёрской практики. Программа навигатор для КПК

Да, Garikk, С# как раз для "монстроподобных энтерпрайз-приложений" (с)
Несколько лет назад работал кодером, как раз подобные штуки писали... соединялки с базами данных, редактирование базы товаров, распечатка отчетов и т.д. Куча форм, талиц... и минимум нагрузки. Чтение/запись в базу данных, проверка вводимых значений и т.д. никаких сложных вычислений. Для 1С тоже скрипты простенькие писал... ввод/вывод, печать отчетов...
Для этого шарп подходит как никто другой, но вот рисовать на нем графу и писать приложения с шустрыми расчетами я бы не стал)



"Кстати, что думает общественность насчет рендеринга на OpenGL? в этом может быть какой-то смысл, или не стоит даже думать об этом?"

Ivan Komarov, мы не думаем... мы проверяем! http://forum.openstreetmap.org/viewtopi … 833#p40833 )))

В случае с векторным отображением, для простой навигации в основном нужно только отображение статичной графики... это можно делать очень быстро используя VBO... практически без нагрузки на CPU. Главное что буфферы пересчитывать время от времени не нужно как в случае с редактором.

А что касательно растровых тайлов + векторный путь для маршрута, то тут все еще проще. Не знаю чем тайлы рисовать собираются, но вобще вывести текстуру из памяти видюшки намного быстрее чем тащить ее из оперативки. ИМХО в памяти видюшки держать небольшой кеш для тайлов довольно просто и очень полезно. Нарисовать маршрут оттуда-сюда можно одним VBO... пока считали граф, собрали все точки в кучу... запекли их в буффер, сгенерировали дополнительные точки и индексный буффер если хотим "дорожку", а не линию. Дальше все в видюшке и она все делает сама... очень быстро.

Offline

#58 2010-03-20 18:34:49

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: Немного программёрской практики. Программа навигатор для КПК

x10kHz wrote:

"Кстати, что думает общественность насчет рендеринга на OpenGL? в этом может быть какой-то смысл, или не стоит даже думать об этом?"
Ivan Komarov, мы не думаем... мы проверяем!

Дык то на ББ, а что на КПК? На сегодняшний день, как я понимаю, с видеоускорителями дело швах, но могут скоро и появиться.

Offline

#59 2010-03-20 21:30:25

asaw
Member
From: Moscow
Registered: 2009-05-16
Posts: 180

Re: Немного программёрской практики. Программа навигатор для КПК

wildMan wrote:

реализацию рендерера в merkaartor не смотрели?
довольно шустрый. кастомайзится стилями

А мне он запомнился своей неторопливостью. Впрочем, нужно посмотреть ещё... Судя по коду, если это то, что лежит в src/Render, то там есть простор для оптимизации. Кстати, кто тут говорил, что в коде меркартора разбирался?


Ivan Komarov wrote:

Дык то на ББ, а что на КПК? На сегодняшний день, как я понимаю, с видеоускорителями дело швах, но могут скоро и появиться.

Если не на КПК в традиционном понимании, то на всяких айпонтах, продвинутых ноклах и прочих модных гаджетах с функцией телефона встроенные видеоускорители весьма мощны. И что ещё немаловажно, они позволяют ускорять отрисовку 2D векторной графики (OpenVG). А Qt данную фичу с недавних пор уже использует.

Offline

#60 2010-03-20 22:42:49

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

Re: Немного программёрской практики. Программа навигатор для КПК

Ivan Komarov wrote:
x10kHz wrote:

"Кстати, что думает общественность насчет рендеринга на OpenGL? в этом может быть какой-то смысл, или не стоит даже думать об этом?"
Ivan Komarov, мы не думаем... мы проверяем!

Дык то на ББ, а что на КПК? На сегодняшний день, как я понимаю, с видеоускорителями дело швах, но могут скоро и появиться.

У меня на телефоне вообще весь интерфейс через OpenGL ES рендерится.

Offline

#61 2010-03-21 07:05:15

chnav
Member
From: Russia, mapping Kazakhstan
Registered: 2010-03-18
Posts: 3,270

Re: Немного программёрской практики. Программа навигатор для КПК

liosha wrote:

Ivan Komarov, нужен _связный_граф_  smile

liosha, можно ли где-то почитать про алгоритмы. Википедия - это какое-то зло, тысячу ссылок приходится открыть чтобы дойти до сути...
Пока что самый внятный текст, что я нашел с точки зрения хранения (а может и формирования) дорожного графа, это описание формата kiwi, вроде глава 10.A1 теплее всего... Конкретно интересует вопрос разрежения графа; формирование верхних, разреженных слоев из нижних, более детальных.
Еще понравилась идея OpenLR от томтома, практически открытый стандарт на передачу геоданных. В общем чтива много, но то что интересует - цельной картины нет. Заранее спасибо !

Last edited by chnav (2010-03-21 07:29:31)

Offline

#62 2010-03-21 07:29:13

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: Немного программёрской практики. Программа навигатор для КПК

asaw wrote:

Если не на КПК в традиционном понимании, то на всяких айпонтах, продвинутых ноклах и прочих модных гаджетах с функцией телефона встроенные видеоускорители весьма мощны. И что ещё немаловажно, они позволяют ускорять отрисовку 2D векторной графики (OpenVG). А Qt данную фичу с недавних пор уже использует.

Кхм, вот я в своем HTC T4242 искал-искал видеускоритель, да так и не нашел. Общественность склоняется к мысли, что зажали sad Про Qt и OpenVG знаю, ага smile

Alexey Guseynov wrote:

У меня на телефоне вообще весь интерфейс через OpenGL ES рендерится.

Интересный факт, спасибо. А что за телефон?

Offline

#63 2010-03-21 08:49:12

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

Re: Немного программёрской практики. Программа навигатор для КПК

Интересный факт, спасибо. А что за телефон?

n900

Offline

#64 2010-03-22 12:17:19

Nicolai
Member
Registered: 2009-04-04
Posts: 39

Re: Немного программёрской практики. Программа навигатор для КПК

По вопросам из первого поста складывается впечатление, что автор темы - программист с не очень большим опытом. Какая переносимость?? Человек просто хочет освоить программирование под WM, ему нравится .NET и C#. Получится у него поделка, которой сможет пользоваться только он сам, это в лучшем случае. Потому что пишется ради практики программирования.

По сабжу:

1. Не очень понятны требования, какой функционал хочется реализовать. Я бы начал с простого: Slippy Map на osm-тайлах и выводить поверх пиктограммку с текущим положением пользователя. Можно глянуть в исходники OSMTracker (сам их не смотрел). Писать свой рендерер - ну-ну... smile

2. Для реализации рутинга так и так придётся хранить рутинговый граф в каком-то внутреннем представлении в памяти. Почему-то мне кажется, что он будет отдельной структурой независимо от того, рисуется карта тайлами или рендерится из вектора. (Поэтому карту лучше рисовать тайлами - так проще.) Для начала можно загружать граф из стандартного xml (придётся мириться со скоростью загрузки и объёмом карты на карте памяти). Реализовать Дейкстру для поиска маршрута. Потом уже думать над оптимизацией,  A*, запретами поворотов... если до этого дело дойдёт.

3. Резюме - делать как можно проще и как можно меньше функций, тогда есть шанс получить что-то работающее. Далее, если будет желание, выбросить полученный прототип и сделать новый, в котором учесть ошибки, добавить функции и прочие предложения, которые тут уже понаписали.


PS. Автор, как оказывается, студент. Могу сказать, что даже простейший навигатор, написанный с нуля (а не скомпиленный проект с codeplex-а smile) потянет на дипломный проект для трёх человек, причём это должны быть очень неплохие студенты с технически грамотным руководителем. Если найдёте готовые компоненты, дело упрощается, но всё равно работы много.

Last edited by Nicolai (2010-03-22 12:27:13)

Offline

#65 2010-03-22 16:09:34

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Nicolai wrote:

По вопросам из первого поста складывается впечатление, что автор темы - программист с не очень большим опытом.

Ну началось. Начали меня оценивать. smile

Nicolai wrote:

Получится у него поделка, которой сможет пользоваться только он сам, это в лучшем случае. Потому что пишется ради практики программирования.

Это заявление, кстати, не имеет под собой никаких 100% гарантий, хотя не спорю, что в большинстве это так. И уж никак эти два предложение ни следуют друг из друга во всех случаях.

Nicolai wrote:

1. Не очень понятны требования, какой функционал хочется реализовать. ...

Требования были приведены. Из них видно, что я пытаюсь понять простую основу для программирования навигатора на движке OSM. Всё остальное домыслено не мной.

Nicolai wrote:

2. Для реализации рутинга ...

Да, спасибо. Народ мне уже дал понять, что не всё так просто в этом королевстве. wink

Nicolai wrote:

PS. Автор, как оказывается, студент. ...

Гы. smile Интересно, как это из моих сообещений следует, что я студент?
Заканчиваешь, значит ВУЗ, устраиваешься на работу, делаешь (читать - запускаешь) несколько проектов (часть - в одиночку) (разного уровня, на разных языках), завершаешь с практикой программирования и переходишь на другую ступень IT-индустрии, устраиваешься в компанию уровня MS ... а потом приходит человек и потому что ты что-то не знаешь, называет тебя студентом. smile))
Мне не обидно. Мне смешно. smile)

Offline

#66 2010-03-22 16:17:19

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,391

Re: Немного программёрской практики. Программа навигатор для КПК

Real 3L0, ты пиши программу знай)) а мы прикроем)

Offline

Board footer

Powered by FluxBB