|
0 / 0 / 0
Регистрация: 05.12.2017
Сообщений: 2
|
||||||
Java MouseMotionListener слишком медленно обрабатывает события...19.01.2010, 10:18. Показов 2491. Ответов 1
Метки нет (Все метки)
Суть проблемы. Имеется JPanel, на которой можно рисовать. При медленном, плавном движении мышкой - все супер. При быстром перемещении мышки, например, если попытаться нарисовать круг или овал быстро, то получается какой-то полилайн, многоугольник. Вместо плавных кривых линий мы получаем ломаные линии, а это выглядит непривлекательно.
MouseMotionListener слишком медленно обрабатывает события. Я попробовал самый простой пример у которого в методе paint() почти ничего нет, чтоб repaint() выполнялся как можно быстрее, но и там та же проблема, хотя немного все-таки лучше линии выходят, но все равно этот недостаток заметен. Что можно сделать?
Просто сама программа моя из нескольких классов состоит и много писать. Единственное отличие в ней - это то, что есть класс Canvas, который наследует JPanel, на котором можно рисовать, причем рисуется в BufferedImage, а уже сам BufferedImage рисуется в методе paint класса Canvas. И есть класс Tool, который реализует интерфейсы MouseListener, MouseMotionListener в методах которого и выполняется логика что рисовать в тот BufferedImage и собственно вызывается метод repaint(). Ну и забыл сказать, что основные тормоза из-за использования прозрачности. Как только я убираю прозрачность рисуемой линии, скорость увеличивается, но не намного... Есть идея - точки, которые получаются в результате MouseDrag не соединять тупо линиями, а, например, через них проводить сплайн, но опять таки, не думаю, что это будет быстро... Или может как-то paint() и обработку событий в разных потоках запустить? Помогите... Конечно, хочется как в Фотошопе чтоб линии получались - плавные и красивые)
0
|
||||||
| 19.01.2010, 10:18 | |
|
Ответы с готовыми решениями:
1
DataGridView слишком медленно Система работает слишком медленно Windows XP работает слишком медленно |
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
| 20.01.2010, 05:35 | |
|
имхо, всё дело в extends Applet. чисто ради эксперимента поробуй в приложение перевести - увидешь как всё ускороиться и линии будут плавные, не фотошоп но то же ничего
0
|
|
| 20.01.2010, 05:35 | |
|
Помогаю со студенческими работами здесь
2
Не обрабатывает события клавиатуры слишком медленно идут данные по FT232
Слишком медленно работает перегруженный оператор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|