Высоко приоритетный поток, как сделать? |
Здравствуйте, гость ( Вход | Регистрация )
Высоко приоритетный поток, как сделать? |
MishaUA |
6.10.2017, 9:46
Сообщение
#11
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Вы говорите о загрузке данных в контроллер дисплея, который занимается отрисовкой, а тут контроллером является сам компьютер
|
|
|
Iron Bug |
6.10.2017, 20:44
Сообщение
#12
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
то есть, у тебя нет GPU, а CPU выводит графику напрямую? как раньше в DOS? ну так тогда там ещё медленнее отрисовка происходит.
|
|
|
MishaUA |
6.10.2017, 20:50
Сообщение
#13
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Да, так и есть, графику выводит CPU и потоку, который выводит графику, надо дать максимальный приоритет.
|
|
|
Iron Bug |
6.10.2017, 23:02
Сообщение
#14
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
да, но тогда все расчёты надо из этого потока убирать.
|
|
|
MishaUA |
7.10.2017, 14:27
Сообщение
#15
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
там из расчетом только вычисление положения пикселя в массиве.
Тут задача стоит в том, чтобы другой поток не вытеснял этот |
|
|
MishaUA |
9.10.2017, 15:43
Сообщение
#16
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
В общем, в процессе экспериментов оказалось, что мерцание проявляется из-за того, что задержка (usleep(50)) иногда выполняется дольше, чем нужно.
|
|
|
MishaUA |
12.10.2017, 14:34
Сообщение
#17
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
заменил usleep нопами, теперь работает как надо))).
Конечно, ядро загружено на 100%, но есть ещё 3. |
|
|
Iron Bug |
12.10.2017, 21:21
Сообщение
#18
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
ты что-то принципиально неправильное делаешь. система перерисовывает экран ровно столько раз, сколько нужно для его перерисовки. а ты пытаешься делать это между тактами перерисовки и это не нормальная работа с графикой. и нопы - это не выход. ты добился приблизительный результат на одной железке, при помощи подгона случайных величин. так только китайцы софт пишут. а правильно делать нормальный буфер и переключать буферы по событию.
|
|
|
MishaUA |
12.10.2017, 22:32
Сообщение
#19
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
А как система может знать, как часто надо обновлять сегменты индикатора для нормальной отрисовки?
|
|
|
Алексей1153 |
13.10.2017, 9:12
Сообщение
#20
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
MishaUA, рисуется кадр - столько времени, сколько он рисуется. Показывается. Рисуется второй кадр (первый кадр в это время висит на экране и не шевелится. Нарисовался второй - делаешь своп с первым . И так по кругу
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 2:14 |