![]() |
|
Модераторы: Akina |
![]()
|
|
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
Есть сетка, нужно закрасить все true эллементы.
DrawSpace - PictureBox Один эллемент трисовывается быстро, но когда поле заполняется, начинает сильно тормозить! Как с этим бороться?! Я постарался по максимуму сократить число цикла m, но при большом поле это не помогает. Может быть чем-то можно заменить этот цикл? Или как-то его оптимизировать?
|
|||
|
||||
| daNick |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 12.8.2006 Где: Казахстан, Астана Репутация: нет Всего: нет |
почему бы не прорисовывать не линиями, а сразу прямоугольниками?
drawspace.line(i*200,j*200)-((i+1)*200,(j+1)*200),drawplace.forecolor,bf или тебе не подходит вариант с закрашенными прямоугольниками? --------------------
Долго не кончать - преимущество мужчины, а не оратора.Я так много читал о вреде курения, что решил бросить... читать.(с) Сергей Довлатов |
|||
|
||||
| cardinal |
|
||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Ну для начала можно сделать Step 200 для i, j и Step 10 для m и заменить DrawSpace.Line ((i * 200) + (m * 10), j * 200)-((i * 200) + (m * 10), (j + 1) * 200) на
Уже будет гораздо быстрее...
Во первых где эта фунция (выложил бы полностью), а во вторых Grid пишется... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||
|
|||||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Там прикол со свойством AutoRedraw!
Если оно True - тогда отрисовка будет занимать ХХХ времени! Выствь его в False, а по окончании рисования, вызывай метод Refresh -------------------- Я желаю всем Счастья! |
|||
|
||||
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
daNick, да, действительно не подумал. Спасибо - тупить стало меньше намного, но если поле большое, то не спасает.
cardinal, пора мне подтягивать свой английский Я ещё кое-что переписал, но всё-равно, нехватает скорости. Есть ещё предложения по оптимизации? Вот новые кусочки:
Naghual, да, если отключить Autoredraw, то скорость заметно вырастает, но это мелькание! Как от него избавиться!? |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
-------------------- Я желаю всем Счастья! |
|||
|
||||
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
Неподходит. Это, я так понял, только с использованием изображений, а у меня их нет. Приношу свои извинения. Всё исправил. Я просто слишком часто отрисовывал всю сетку вместе со всеми эллементами. У меня отрисовка была от mouse_move, в независимости от состояния нажатия клавишь, сделал, что отрисовывается, только если меняется значения эллемента и клавиша нажата. Теперь не тупит. Всем большое спасибо. |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
продумай еще момент с отрисовкой только изменившейся области, а не всего грида
-------------------- Я желаю всем Счастья! |
|||
|
||||
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
||||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
А что это такое будет - то?
-------------------- Я желаю всем Счастья! |
|||
|
||||
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
На самом деле сразу несколько программ: 1)У меня есть игрушка японские кроссворды, единственный её минус был в том, что для написания нового кроссворда мне много мучится приходилось, а юзеру - попросту заново грузить всё приложение. А это - новый движок, который позволит сделать удобные обновления, в том числе и обновления с сайта программы при помощи самой программы. 2)Я небуду пока-что разглашать, потому что не уверен, что всё получится... Я ещё не раз буду задавать вопросы по этой проге, поэтому потом всё узнаете |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Kirill89, ясно. Прикольная задумка.
Желаю удачи. -------------------- Я желаю всем Счастья! |
|||
|
||||
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
||||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |