Ресурсозатратность операции show() |
Здравствуйте, гость ( Вход | Регистрация )
Ресурсозатратность операции show() |
RazrFalcon |
15.11.2011, 19:16
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Есть собственный QScrollBar. Который начинает отображаться после определенного количества обработанных элементов.
Выглядит это приблизительно так: То есть, начиная с 10-и, каждый раз будет вызываться show(). Насколько это затратно?Также можно сделать что то в духе: Но не знаю на сколько это лучше...
|
|
|
BRE |
15.11.2011, 19:31
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Совершенно не затратно.
Вначале метода setVisible есть проверка, если виджет, который хотят показать уже виден, то сразу выйти из метода. |
|
|
ernie |
16.11.2011, 7:01
Сообщение
#3
|
Участник Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: 1 |
А если сделать просто if (count == 11) {
scrollBar->show(); } ? |
|
|
sidsukana |
16.11.2011, 7:08
Сообщение
#4
|
Участник Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: 2 |
|
|
|
ernie |
16.11.2011, 7:25
Сообщение
#5
|
Участник Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: 1 |
А если сделать просто if (count == 11) { scrollBar->show(); } ? Вы улавливаете суть того что автор написал? Если надо > 10 значит там может быть и 12 и 13 и 123. "Который начинает отображаться после определенного количества обработанных элементов" Т.е. элементы где-то обрабатываются,потом судя по всему идёт эта проверка,так как автора волнует,что потом это много раз будет вызывать,я полагаю что проверка в цикле,вот оттуда и вывод такой |
|
|
RazrFalcon |
16.11.2011, 7:44
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Да. Проверка в цикле.
Имелось ввиду то, что затратней: постоянная проверка или show(). А разницы между if (count > 10) и if (count == 11) в данном случае никакой. |
|
|
ernie |
16.11.2011, 9:28
Сообщение
#7
|
Участник Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: 1 |
|
|
|
ilyabvt |
16.11.2011, 12:56
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Цитата Имелось ввиду то, что затратней: постоянная проверка или show(). Постоянная проверка будет в любом случае. Вопрос был скорее лучше увеличить объем проверки (проверять две переменных вместо одной) или позволить каждый раз вызывать show(). Вариант ernie лучше тем что объем проверки остается тем же, но при этом show() будет вызываться только один раз. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 10:29 |