тормоза с графикой
От: kernel_panic  
Дата: 16.03.06 19:54
Оценка:
Добрый день!
Есть такая задача: надо написать прогу, которая работает с картой города(масштабирование и навигация).
Пытаюсь решить задачу с помошью .NET, GDI+ и C#. Карта загружается на данном этапе из метафайла, который получен из CorelTrace.
если опустить все моменты, то при инициализации происходит:
SetStyle(ControlStyles.DoubleBuffer, true);
Image metafile = new Metafile(@"<путь>");

и далее переопределяю OnPaint(...)
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawImage(metafile, ClientRectangle, clipRectangle, GraphicsUnit.Pixel);
}

Здесь clipRectangle — прямоугольник, параметры которого пересчитываются, в зависимости от зума и видимой части карты.

Собственно проблема: если загружать относительно сложные метафайлы, то начинаются нереальные тормоза.
Мне кажется, у меня неправильный подход в хранении изображения и вывода его видимой части. Потому что все программы работы с картами, которые я просмотрел, практически не тормозят даже при большом количестве объектов.

Буду очень признателен всем, откликнувшимся, т.к. все дальнейшие попытки ускорить процесс рисования приводили у меня к ещё бОльшим тормозам...
Re: тормоза с графикой
От: Аноним  
Дата: 20.03.06 14:23
Оценка:
Здравствуйте, kernel_panic, Вы писали:

_>Добрый день!

_>Есть такая задача: надо написать прогу, которая работает с картой города(масштабирование и навигация).
_>Пытаюсь решить задачу с помошью .NET, GDI+ и C#. Карта загружается на данном этапе из метафайла, который получен из CorelTrace.

а если CorelTrace-у скормить карту квадратиками (достаточно небольшого размера), а дальше проигрывать тот матафайл, в котором находится требуемый район?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.