crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Ресурсозатратность операции show()
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ilyabvt Дата 16.11.2011, 12:56
 
Цитата
Имелось ввиду то, что затратней: постоянная проверка или show().

Постоянная проверка будет в любом случае. Вопрос был скорее лучше увеличить объем проверки (проверять две переменных вместо одной) или позволить каждый раз вызывать show().
Вариант ernie лучше тем что объем проверки остается тем же, но при этом show() будет вызываться только один раз.
ernie Дата 16.11.2011, 9:28
 
Цитата(RazrFalcon @ 16.11.2011, 13:44) *
Да. Проверка в цикле.
Имелось ввиду то, что затратней: постоянная проверка или show().

А разницы между
if (count > 10)
и
if (count == 11)
в данном случае никакой.


Разница в том,что show() один раз вызовется только,при count==11 ,а не каждый раз :)
RazrFalcon Дата 16.11.2011, 7:44
  Да. Проверка в цикле.
Имелось ввиду то, что затратней: постоянная проверка или show().

А разницы между
if (count > 10)
и
if (count == 11)
в данном случае никакой.
ernie Дата 16.11.2011, 7:25
 
Цитата(sidsukana @ 16.11.2011, 13:08) *
Цитата(ernie @ 16.11.2011, 10:01) *
А если сделать просто if (count == 11) {
scrollBar->show();
}
? :)


Вы улавливаете суть того что автор написал?
Если надо > 10 значит там может быть и 12 и 13 и 123.

"Который начинает отображаться после определенного количества обработанных элементов"
Т.е. элементы где-то обрабатываются,потом судя по всему идёт эта проверка,так как автора волнует,что потом это много раз будет вызывать,я полагаю что проверка в цикле,вот оттуда и вывод такой:)
sidsukana Дата 16.11.2011, 7:08
 
Цитата(ernie @ 16.11.2011, 10:01) *
А если сделать просто if (count == 11) {
scrollBar->show();
}
? :)


Вы улавливаете суть того что автор написал?
Если надо > 10 значит там может быть и 12 и 13 и 123.
ernie Дата 16.11.2011, 7:01
  А если сделать просто if (count == 11) {
scrollBar->show();
}
? :)
BRE Дата 15.11.2011, 19:31
  Совершенно не затратно.
Вначале метода setVisible есть проверка, если виджет, который хотят показать уже виден, то сразу выйти из метода.
RazrFalcon Дата 15.11.2011, 19:16
  Есть собственный QScrollBar. Который начинает отображаться после определенного количества обработанных элементов.

Выглядит это приблизительно так:
if (count > 10)
    scrollBar->show();
То есть, начиная с 10-и, каждый раз будет вызываться show(). Насколько это затратно?
Также можно сделать что то в духе:
if (count > 10 && scrollBar->isHidden())
    scrollBar->show();
Но не знаю на сколько это лучше...
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 12:37