Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
zuze |
4.4.2013, 10:45
Сообщение
#11
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 4.4.2013, 10:37) Link Поэтому и задержка, т.е. реальное время где то 0,5 секунды и быстрее не получится. 1. Можно ли это как-то документально прочитать, про скорости таймера в Python? 2. А почему тогда в место 5 секунд обновляется, через каждые 3 секунды? |
|
|
|
|
lanz |
4.4.2013, 10:57
Сообщение
#12
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
1. Таймер в Qt. Python только вызывает функции.
2. А как были посчитаны эти 3 секунды? |
|
|
|
|
zuze |
4.4.2013, 11:11
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 4.4.2013, 10:57) Link 2. А как были посчитаны эти 3 секунды? Я делал так А считал в уме. Решил проверинть на секундомере на смартфоне. В итоге первые несколько раз по 3 секунды, а потом идёт интервал по 5 секунд, даже немного поменше (4,7 или 4,8 секунды). |
|
|
|
|
zuze |
5.4.2013, 13:46
Сообщение
#14
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Как я понял, мой коде есть ряд ошибок:
1. Код не удовлетворяет модели "модель-представление-контроллер (Model-View-Controller, MVC)". Не совсем понимаю, как это сделать. 2. Я вызываю перерисовку всего окна по таймеру и жду следующей перерисовку от таймера. Наверно надо пересовывать, только следующий кусочек. 3. Возможно я не в той функции запускаю таймер. 4. В методе MyTimer ты в не зависимости от того активен self.checkBox или нет, проверяю phi на условие и в зависимости от результата меняю его. Это я поправил, вот так: Помогите пожалуйста разобратся с ошибочками 1-3. |
|
|
|
|
lanz |
8.4.2013, 8:45
Сообщение
#15
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Цитата Код не удовлетворяет модели "модель-представление-контроллер (Model-View-Controller, MVC)". Не совсем понимаю, как это сделать. Это не ошибка сама по себе. Не любой код должен удовлетворять такой модели. Link Цитата Я вызываю перерисовку всего окна по таймеру и жду следующей перерисовку от таймера. Наверно надо пересовывать, только следующий кусочек. Основные тормоза не от этого, а скорее всего, что картинка готовится каждый раз, когда надо ее вывести: Этот код не зависит от phi, зачем он вызывается каждый раз при перерисовке? Цитата Возможно я не в той функции запускаю таймер. Не вижу проблемы. |
|
|
|
|
zuze |
8.4.2013, 8:54
Сообщение
#16
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 8.4.2013, 8:45) Link Основные тормоза не от этого, а скорее всего, что картинка готовится каждый раз, когда надо ее вывести: Если дело в этом коде, то он необходим, так как тут подготавливаеться картинка, через каждый промежуток времени. А заранее подготовить нельзя, так как в будущем будет не один цвет, а много разных картинок, которые будут менятся по таймеру. Не ужели для такой простой задачи в Python без потоков не обойтись? На всякий случай прикрепляю два фала ld.py и ld.ui лежащих в архиве ld.zip. Возможно они помогут решить проблему с торможением. Сообщение отредактировал zuze - 8.4.2013, 9:58
Прикрепленные файлы
|
|
|
|
|
zuze |
8.4.2013, 10:21
Сообщение
#17
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Решил проверить время выполнения кода.
Какие-то странные результаты, хотя я поставил таймер 5000 миллисекунд. А сами результаты такие: 0.836999893188 0.838999986649 0.837999820709 0.832000017166 0.836999893188 Сообщение отредактировал zuze - 8.4.2013, 10:21 |
|
|
|
|
lanz |
8.4.2013, 10:35
Сообщение
#18
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Все правильно, подготовка картинки занимает почти секунду.
Цитата Если дело в этом коде, то он необходим, так как тут подготавливаеться картинка, через каждый промежуток времени. Картинку необязательно готовить каждый кадр, можно ее готовить только когда возникнет необходимость в новой. |
|
|
|
|
zuze |
8.4.2013, 10:43
Сообщение
#19
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 8.4.2013, 10:35) Link Картинку необязательно готовить каждый кадр, можно ее готовить только когда возникнет необходимость в новой. У меня необходимость постоянная в выводе картинок. Сначала берутся значения из двоичного файла и рисуеться картинка, через определённый промежуток времени. Затем рисуется картинка из второго файла, а первая картинка, как бы затираеться. Затем рисуеться картинка из третьего файла, а вторая картинка, как бы затираеться. Схема вывода картинок: _______________________________ |-----------------------|------------------------| |Первая картинка | Фон -----------------| |-----------------------|------------------------| _______________________________| ________________________________ |-----------------------|------------------------| |Вторая картинка | Первая картинка | |-----------------------|------------------------| _______________________________| _______________________________ |----------------------|-------------------------| |Третья картинка | Вторая картинка | |----------------------|------------------------| ______________________________| и так далее. Сообщение отредактировал zuze - 8.4.2013, 10:50 |
|
|
|
|
lanz |
8.4.2013, 10:51
Сообщение
#20
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Это все понятно, но картинка обновляется только когда начинает рисоваться новая, а не каждый шаг (по phi) отрисовки картинки.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 20:38 |