|
274 / 200 / 33
Регистрация: 18.04.2009
Сообщений: 177
|
|
Запаздывание при рисовании в PictureBox большого размера24.06.2009, 02:40. Показов 8393. Ответов 29
Метки нет (Все метки)
Я создал в pictureBox'е объект класса Image размером 1500 х 1500 пикселей. Далее рисую карандашом в событии pictureBox1_MouseMove(...), но при рисовании линия на pictureBox'e появляется с запаздыванием, чего нет например при рисовании на холсте большого размера в PhotoShop. Можно ли это как-то исправить? Может нужно обновлять не весь pictureBox1 (кстати, обновляю я его через pictureBox1.Invalidate()), а только то, что видно без полос прокрутки. Если да, то как?
0
|
|
| 24.06.2009, 02:40 | |
|
Ответы с готовыми решениями:
29
Сохранение изменений при рисовании на PictureBox
|
|
15 / 14 / 2
Регистрация: 15.01.2009
Сообщений: 55
|
||||||
| 28.08.2009, 08:00 | ||||||
Сообщение было отмечено как решение
Решение
Добавь в код пару строк:
3
|
||||||
|
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
| 28.08.2009, 12:33 | |
|
Работает чуть быстрее, но запаздывание всё ещё ощутимое. А как делать отрисовку в событии Paint, как ты предлагал?
0
|
|
|
15 / 14 / 2
Регистрация: 15.01.2009
Сообщений: 55
|
||
| 28.08.2009, 15:03 | ||
|
Здесь же за отрисовкой следит сам PictureBox автоматически. Странно, что у тебя всего лишь чуть быстрее работает. У меня при рисовании линия не отрывается от курсора.
0
|
||
|
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
| 28.08.2009, 16:31 | |
|
А ты пробовал развернуть форму на весь экран и на ней рисовать? Тут уже говорили о том, что GDI+ медленнее, чем GDI, но мне кажется, что проблема в железе или ПО. У меня XP SP3, 2 Гб ОЗУ, 512 Мб ВИДЕО, процессор AMD Athlon64 X2 c 512 Кб кэша L2. Я сам сталкивался с тем, что AMD процессоры хуже работают со стеком, чем Intel, но лучше с очередью, может быть я ошибаюсь, но для меня это факт - производительное железо для .Net - это как вода для рыбы.
А как отрисовывать слоями?
0
|
|
|
|
||
| 28.08.2009, 18:03 | ||
|
Как вариант, можно предположить, что прорисовка всего большого PictureBox'a, который даже на экране не помещается, не нужна в00бще. Зачем посылать команду рисования, например, левого нижнего пикселя, при экране в правом верхнем углу, если его не видно. Понятное дело что GDI сам отбракует данную команду, НО время всё равно понадобится для определение "а нужно ли его рисовать". Тем более как известно GDI сам по себе медленный, тк прежде чем что либо изобразить вызывает кучу ф-ий( проверка, преобразование и т.п....типа... сто раз проверь, один - прорисуй ) Если б ты сам указал ему какой пиксел или лучше группу пикселей и когда рисовать, то это пределённо бы увеличело скорость прорисовки. Мне кажется быстрее было бы если б вообще не создавай такого размера PictureBox, а только то что видно в данный момент на мониторе, те даже скроллы самому обрабатывать. Но это очень муторно... Откройте для себя OpenGL или DirectX!! Самое сложное в них - это инициализация, т.е. первое с чем придётся сталкнутся. ИМХО: Рисование на OpenGL проще чем на GDI, а главное быстрее! Литературы - куча!
0
|
||
|
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
| 29.08.2009, 10:07 | |
|
А можешь подсказать конкретную литературу по OpenGL, по DirectX её много, но как рисовать карандашом с его помощью мне найти не удалось, наверное нужно искать иностранные источники и литературу.
0
|
|
|
|
|||||||
| 31.08.2009, 10:18 | |||||||
|
lekha2009, я начинал с книги М. Краснова "OpenGL в проектах Delphi". Простыми словами описаны общие ф-ии.
Потом ещё есть книга "OpenGL SuperBible, Third Edition" авторы: Richard S. Wright Jr., Benjamin Lipchak. Есть нормальный русскоязычный вариант. Здесь подробно расписаны почти все ф-ии стандартного OpenGL'я и закватывает пару-тройку расширений, а так же одна треть книги посвящена шейдерам. Более 1500 страниц. Примеры написаны на обычном C.
1
|
|||||||
|
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
| 31.08.2009, 12:45 | |
|
Спасибо, что натолкнул в нужное направление. Как разберусь с OpenGl, выложу код рисования карандашом.
0
|
|
|
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
| 02.09.2009, 16:47 | |
|
А может кто-нибудь подсказать как вывести содержимое simpleOpenGlControl на Bitmap.
0
|
|
|
Мохаммед Али
131 / 70 / 5
Регистрация: 14.08.2009
Сообщений: 916
|
|
| 11.12.2009, 11:17 | |
|
хотел спросить алгоритм создания прорисовки по массиву точек ,ведь, нужно иметь у каждой точки укзаатель на следующюю, так как при обновлении панели все пропадет если рисовать по 2 точккам.?или как
0
|
|
| 11.12.2009, 11:17 | |
|
Помогаю со студенческими работами здесь
30
Задать цвет фона текста на pictureBox при его рисовании
Сильно зависает при открытии Excell большого размера Высчитывание оптимального размера буфера при копировании большого файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В качестве. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|