|
1 / 1 / 0
Регистрация: 24.02.2014
Сообщений: 45
|
|
Отрисовка потоком в Canvas05.07.2016, 20:53. Показов 2727. Ответов 23
Метки нет (Все метки)
Доброго времени суток. В общем ситуация такова: есть таймер, работающий с точностью в 10мс в отдельном потоке. В зависимости от времени, на канве рисуются графики и куча другого динамического интерфейса. В программе есть два режима работы: непрерывный и дискретный. Дискретный заканчивает отрисовку каждые 1570 мс, после чего пользователь должен нажать кнопку "продолжить" и работа таймера и отрисовки возобновляется. Однако, я столкнулся с рядом проблем.
В общем если рисовать на канве в отдельном потоке, то интерфейс начинает сильно глючить. Приходится ставить задержку в 10мс, но тут проявляется другая проблема, которая заключается в плохой синхронизации. Иногда программа не успевает отловить нужное значение времени в потоке, и в дискретном режиме работы отрисовка не прекращается. Есть какие-нибудь идеи или советы по решению данной проблемы? Понимаю, что работа с интерфейсом должна происходить в основном потоке, но отрисовка циклами заставляет программу зависать намертво, а использование TTimer не обеспечивает нужную точность в 10мс. З.ы. Использую C++ Builder XE
0
|
|
| 05.07.2016, 20:53 | |
|
Ответы с готовыми решениями:
23
Отрисовка на Canvas "гладкой" наклонной линии Отрисовка линии на canvas
|
|
1 / 1 / 0
Регистрация: 24.02.2014
Сообщений: 45
|
|
| 06.07.2016, 15:59 [ТС] | |
|
d7d1c, в моём случае пользователь не может взаимодействовать с компонентом RadioGroup1 во время работы потока. Как только поток запускается, компонент становится недоступным и наоборот.
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,468
|
|
| 06.07.2016, 16:03 | |
|
Rex_, это вы к тому что ничего вроде бы не должно происходить и можно читать смело? да, наверное вы правы, но меня в таких случаях мучают ночные кошмары. снится что-то вроде проснувшегося сборщика мусора который уплотняет список элементов или очень быстрый пользователь который успевает кликнуть двумя мышами и по запуску потока и по компоненту. хотя вряд ли тут такое возможно.
0
|
|
|
1 / 1 / 0
Регистрация: 24.02.2014
Сообщений: 45
|
|
| 06.07.2016, 17:59 [ТС] | |
|
vxg, похоже, мне не платят столько, чтобы я об этом беспокоился
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,468
|
|
| 06.07.2016, 18:07 | |
|
Rex_, мне тоже. Это профессиональная деформация)
0
|
|
| 06.07.2016, 18:07 | |
|
Отрисовка сложных фигур на canvas
Отрисовка на Canvas при использовании MVVM Canvas.TextOut отрисовка текста относительно центра Работа с timage.canvas, отрисовка нескольких картинок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|