Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Карта города Добавлено: 15.11.06 20:23  

Автор вопроса:  Neco | Web-сайт: neco.pisem.net | ICQ: 247906854 
Надо сделать карту города - чтоб мона было тыкать там куда-нить, инфу получать. Объектами (дома, памятники) у меня будут path - это я уже точно решил, а вот отрисовку фона (собственно сам город) пока не знаю как делать. карта будет порезана на куски, пути к кускам - в БД. При попадании точки (координаты центра) в радиус "поражения" картинка должна быть подгружена и прилеплена к отображаемой области.
теперь вопрос - как вообще правильно рисовать?
рисую картинку так:
e.Graphics.DrawImage(img, m_loc.X, m_loc.Y)

делаю это в событии Paint. когда мышью "перемещаю" картинку (меняю m_loc) приходится вызывать Refresh, но тогда во время перетаскивания проц загружается на все сто. делал по таймеру - неприятные подвисоны при интервале больше 30. при меньшем интервале проц загружен стабильно процентов на 80.
img у меня Image - это правильно?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 16.11.06 21:12
1. Почему именно Image а не Bitmap?
2. Попробуй в событии MouseMove обновлять экран не при каждом событии, а ,скажем, с шагом в 10-15 пикселов (когда ты меняешь m_loc). По идее это должно снизить нагрузку на проц.
3. Попробуй включить бит стиля DoubleBuffer для формы... это избавит от всякого рода мерцаний и миганий при перерисовках экрана
4. И последнее, что приходит в голову.. вместо Refresh попробуй использовать Invalidate(Rect) с указанием области перерисовки.. (т.е. видимой части)

Ответить

Номер ответа: 2
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #2
Добавлено: 16.11.06 21:40
1. Ну вроде image родитель битмапа - по идее должен быть быстрее. хотя это вопрос для нового топика: влияет ли степень вложенности наследования на производительность?
2. сделал при mousedown включение таймера с интервалом 30, а при mouseup выключение. плюс переделал движок - теперь у меня прорисовка пути брушем с текстурой. бруш вращаю и трансортирую, а путь на месте стоит. вроде нормуль стало.
3. ну разумеется первым делом. и quality у графика на скорость перекрутил.
4. Ммм... мне-то по-любому весь бокс надо обновлять - при сдвиге обновляется каждый пиксел.

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 16.11.06 23:25
теперь у меня прорисовка пути брушем с текстурой

Кстати да.. вполне разумное решение.. Что-то я о нем и не вспомнил даже..

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам