![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
вариант хороший и может даже лучший, но весь вопрос "как?" Стену нужно строить так, чтоб подпирать... или как говаривали классики "главное леса не убирайте пока обои не поклеите"... Это сообщение отредактировал(а) drkot - 6.8.2014, 01:25 -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Delvish |
|
|||
![]() oO ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 13.12.2006 Репутация: 1 Всего: 4 |
Не сударь, так мусье ...Помнится, когда я был курсе на 4м и изучал предмет Автоматика, был дико поражен тем, КАК можно задачу за 2й класс по математике, где из двух труб вода наливается в бассейн, а из третьей выливается, извратить до ужасного вида дифференциальных уравнений второго порядка. Так и тут, простую задачу чуть ли не через ассемблерные вставки решаем |
|||
|
||||
| PointerToNil |
|
|||
![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 17.6.2013 Репутация: 3 Всего: 6 |
2) разрешение таймера по дефолту 15.6 ms, так что твоя "1" (и любое число до 15 включительно) на самом деле = 15.6 3) ускорять нет смысла, т.к. длительность 1 кадра при стандартной развертке 60 кадров в секунду = 1000ms/60 = 16.666 ms, а больше 60 кадров ты хоть как не сможешь на экране увидеть (хоть скоростной киносъемкой его снимай) Это сообщение отредактировал(а) PointerToNil - 6.8.2014, 13:50 |
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
гыы... простых задач не бывает. VCL это мало динамичное средство, так как вся работа по "принуждению" вынесена в ядро, а программист пишет только бизнес логику. Для самых тяжелых компонентов сделала возможность на время изменения отключить перерисовку. Отсюда вывод: динамичная перерисовка в VCL возможна только при перекрытии в наследнике. решение с потоком может выглядеть следующим образом: поток в цикле вызывает Invalidate для компонента и ждет на waitforobject(ивент) // ивент с автосбросом также можно добавить небольшой sleep которые определит частоту перерисовки функция перерисовки (например в TPaintBox) вычисляет значение таймера рисует значение таймера дергает ивент в результате никакого мерцания + быстрая перерисовка чтобы создать эффект "размытости" можно рисовать старое значение в виде тени (более светлым) тогда при низкой скорости обновления (5-10 кадров) можно достичь ощущения "размытости" Добавлено через 1 минуту и 34 секунды PointerToNil, о вот и капитан очевидность -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |