Russian Qt Forum
Ноябрь 23, 2024, 00:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: ListView GridView и подобные вью жрут память  (Прочитано 25094 раз)
carrygun
Гость
« Ответ #30 : Июль 29, 2016, 08:57 »

У вас какое-то обострение? То Windows vs Linux, теперь C++ vs QML. Глупо говорить, что что-то не нужно, только потому что ты не смог разобраться или, что еще хуже, кто-то там сказал что оно плохое. Чаще всего эти споры зависят от конкретных задач.

Не для кого, надеюсь, не секрет что QML делает упор на интерфейс. И, надо сказать, этот инструмент очень удобный для всяких мобильных платформ, терминалов и прочего. Для сложных приложений лучше конечно не отказываться от C++ в связке с QML. Разделять логику и интерфейс в QML тоже можно без проблем. А вот виждеты я предпочитаю для десктопных платформ, там они смотрятся хорошо и привычно.
Записан
Bepec
Гость
« Ответ #31 : Июль 29, 2016, 10:09 »

carrygun WTF?
Откройте глаза, не я начинаю эти темы Улыбающийся Так что спрашивайте зачинщиков. Но то, что я говорю верно на 85% Улыбающийся
Записан
carrygun
Гость
« Ответ #32 : Июль 29, 2016, 10:44 »

На 85% тут только бред.

Например:
Цитировать
QML ущербен как ЯП, т.к. он предназначен для быстрого прототипирования интерфейса и заточен исключительно на это.

Это как примерно сказать "Ну SQL ущербен, так как он предназначен для написания запросов и заточен исключительно для этого."

Я просто хотел вам сказать что нельзя брать один инструмент и подходить с ним к любой задаче. QML в конце концов часть SDK и если бы они позиционировали его как отдельный продукт, то так бы и сделали. Вам дали хороший, годный инструмент. Бесплатно. Остается брать и применять его с умом. Не надо на нем писать комбайны, конверторы видео или работу с памятью. В официальном "букваре" написано что такое QML и как его правильно готовить.

Или вот:
Цитировать
Подумай потом на досуге, почему виджеты так безнадежно забросили.

Очень хотелось бы чтобы вы действительно подумали, особенно прежде чем писать такие вещи. Если их не используете вы, то это не значит, что все их не используют.

P.S. я никого не хотел обидеть (но вы держитесь там), но зачастую в таких спорах (не только в этой теме) только и видно аргументы "Это круто, потому что все говорят круто и потому что я этим пользуюсь, а все остальное фигня без задач."
Записан
BuRn
Гость
« Ответ #33 : Июль 29, 2016, 10:53 »

Кстати да, еще ни разу не видел лагающего интерфейса на qml)
Значит ты мало еще в этой жизни повидал, давно работаю с ним и поверь, оно тормозит. Хотя конечно на и7 с 16гб оперативной памятью этого не видно
Записан
Bepec
Гость
« Ответ #34 : Июль 29, 2016, 11:22 »

carrygun
Моё -
Цитировать
QML ущербен как ЯП.
Ваше -
Цитировать
QML в конце концов часть SDK.
И это два одинаковых изречения, с одинаковым смыслом. Он ущербен как полноценный ЯП, но в составке C++ + Qt + QML он хорошо выполняет свою задачу.

Цитировать
Подумай потом на досуге, почему виджеты так безнадежно забросили.
- эт вообще не моя реплика, обращайтесь к разводителю аля "Komorebi".

PS и не разводите оффтоп в теме. Создавайте уж тогда лучше новую тему и я вам предметно докажу что вы неправы Улыбающийся
« Последнее редактирование: Июль 29, 2016, 11:24 от Bepec » Записан
carrygun
Гость
« Ответ #35 : Июль 29, 2016, 11:38 »

Я так и не увидел в чем ущербность того или иного ЯП, кроме того что вы ничего не поняли и не разобрались. С тем же успехом можно открыть Хаскель, Эрланг, Лисп, итд и сказать "ну, блин, ничего не понятно, ущербные языки". Возводить одни кресты в абсолют - глупо, лучше развивайтесь.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #36 : Июль 29, 2016, 12:00 »

Я так и не увидел в чем ущербность того или иного ЯП, кроме того что вы ничего не поняли и не разобрались. С тем же успехом можно открыть Хаскель, Эрланг, Лисп, итд и сказать "ну, блин, ничего не понятно, ущербные языки". Возводить одни кресты в абсолют - глупо, лучше развивайтесь.

Ущербность чаще всего видно по конечному продукту.
Понятно, что и на С++ можно написать жутко тормознутый код.
Но если принять, что, допустим, код написан "правильно" - можно ли средствами Хаскель, Эрланг, Лисп, итд добиться таких же качественных (во всех отношениях) продуктов, как на "древних плюсах"?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #37 : Июль 29, 2016, 12:08 »

Насколько я понял (мельком глянув Qt доку), QML позволяет легко и быстро создавать разнообразные эффекты прямо "ис каропки". Мне это не нужно (или нужно редко), поэтому QML не пользуюсь.

Все же, пользуясь случаем, хотелось бы поинтересоваться у тех кто на нем работает - а насколько велики его мощности/возможности? Если мне (ну вот вдруг) понадобятся те эффекты что в доке - я их и на плюсах напишу (пусть и затратив куда больше времени). Из-за такого нет смысла "изучать систему".

Но вот напр такой случай. Тут уже все не так просто. Насколько здесь поможет QML? Напрашивающийся ответ "да, конечно, там же есть мощные/развитые партиклы" я уже получил.  Только вот думаю здесь партиклы не очень подойдут. А иначе - как?

Спасибо
« Последнее редактирование: Июль 29, 2016, 12:10 от Igors » Записан
Отражение луны
Гость
« Ответ #38 : Июль 31, 2016, 03:21 »

Последняя моя попытка достучаться до сознания Komorebi:
В QML понятия класс/view/model/worker как таковые не существуют. Есть нечто среднее и оно ограничено тем функционалом, что решили разработчики. Всё. Дальше этой границы никто не уйдет. По сути это конструктор.

C++ и прочие полные языки разделяют эти понятия и дают возможность создать своё. Границы возможностей как таковой нет, она зависит исключительно от возможностей и знаний программиста. Всё что нельзя создать одним способом, можно создать десятком других и так далее.

QML ущербен как ЯП, т.к. он предназначен для быстрого прототипирования интерфейса и заточен исключительно на это. Многие вещи в нём реализовать невозможно, от слова вообще.
Собственно тролли это знают и именно поэтому в QML есть возможность проброса C++ классов и прочее.
Возможно в будущем, в версии 3/4/5/6/7 они дополнят язык. Но пока это язык для интерфейса Улыбающийся

PS если проще - QML с С++ - это превосходно. QML без С++ - это инвалид.
QML + js - это полноценное ООП. Нет ничего такого, что нельзя сделать на QML и js, что при этом можно сделать на C++, исключая всякие низкоуровневые вещи, для расширения QML окружения которыми и используется C++.
На ноде системные утилиты порой пишут. Тут то же самое. Принципиальных архитектурных отличий нет.

Значит ты мало еще в этой жизни повидал, давно работаю с ним и поверь, оно тормозит. Хотя конечно на и7 с 16гб оперативной памятью этого не видно
У меня почему-то на офисных компах из 2007го с 255 мб оперативки не тормозит, а у вас - тормозит. Любопытно. Может, это не мне чего-то там повидать стоит?)

Насколько я понял (мельком глянув Qt доку), QML позволяет легко и быстро создавать разнообразные эффекты прямо "ис каропки". Мне это не нужно (или нужно редко), поэтому QML не пользуюсь.
Там есть пак шейдер эффектов, но это не QML, это библиотека к нему. Так или иначе свои шейдеры придется писать руками.
« Последнее редактирование: Июль 31, 2016, 03:41 от Komorebi » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #39 : Июль 31, 2016, 07:45 »

Там есть пак шейдер эффектов, но это не QML, это библиотека к нему. Так или иначе свои шейдеры придется писать руками.
GLSL - весьма низкоуровневое, специфическое и трудоемкое программирование. Если, по Вашему мнению, его использование неизбежно - это плохая реклама QML
Записан
BuRn
Гость
« Ответ #40 : Июль 31, 2016, 12:38 »

Цитировать
Значит ты мало еще в этой жизни повидал, давно работаю с ним и поверь, оно тормозит. Хотя конечно на и7 с 16гб оперативной памятью этого не видно
У меня почему-то на офисных компах из 2007го с 255 мб оперативки не тормозит, а у вас - тормозит. Любопытно. Может, это не мне чего-то там повидать стоит?)
Приложение hello world конечно не тормозит, что-то более весомое и ты удивишься. Наше приложение как минимум занимает 200 мб памяти, так что у вас оно бы колом совсем стало
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #41 : Июль 31, 2016, 14:34 »

GLSL - весьма низкоуровневое, специфическое и трудоемкое программирование. Если, по Вашему мнению, его использование неизбежно - это плохая реклама QML
Что за глупость?
GLSL может быть плохой рекламой исключительно OpenGL, но никак не QML, где его использование вовсе не обязательно.
Записан
Отражение луны
Гость
« Ответ #42 : Июль 31, 2016, 18:31 »

GLSL - весьма низкоуровневое, специфическое и трудоемкое программирование. Если, по Вашему мнению, его использование неизбежно - это плохая реклама QML
Есть готовый набор эффектов. Их много, и их хватает. Но даже если нужного эффекта нет - написать с использованием QMLных шейдерэффектов его будет куда проще и эффективнее. Фича в том, что в качестве текстур можно использовать QMLлные объекты. То есть если тебе хочется применить свой кастомный шейдерэффект к фоточке - тебе нужно написать только конкретный GLSL, не заморачиваясь о других деталях, и по мне так это отличная реклама для данной технологии, учитывая, что готовых шейдеров под абсолютно все жизненные ситуации нет ни в одном фреймворке, а стандартные имеющиеся готовы реализовать большинство среднестатистических потребностей, и их база постоянно растет.
Приложение hello world конечно не тормозит, что-то более весомое и ты удивишься. Наше приложение как минимум занимает 200 мб памяти, так что у вас оно бы колом совсем стало
Если все правильно завязать на event loop - тормозов попросту не будет. Я написал не одно приложение используя данную технологию в качестве основы, и все было супер. Анимации на 60 фпс без каких-либо проседаний. При этом я не экономил на вышеупомянутых шейдерэффектах и прочих вещах, а помимо самого интерфейса в qml так же вертелась куча бизнеслогики, в т.ч. работа с SQL.
Если что-то и будет тормозить - так это сишный код, при условии того, что он написан так, чтобы давать фризы и создавать iowait.
Потребление памяти - вопрос совершенно другого плана. 200 мб в 2016м году это вполне приемлемо. Оперативная память - дешевый ресурс, гораздо дешевле тактовой частоты проца, потому пусть лучше жрет память, чем нагружает проц под потолок. И, пожалуйста, не говорите, что между потреблением этих ресурсов нет никакой зависимости.
« Последнее редактирование: Июль 31, 2016, 18:41 от Komorebi » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #43 : Июль 31, 2016, 20:53 »

Оперативная память - дешевый ресурс, гораздо дешевле тактовой частоты проца, потому пусть лучше жрет память, чем нагружает проц под потолок.

Ага, скажите об этом эмбедщикам или автомотивщикам, они, я уверен, оценят шутку Веселый

Вот вы серьезно утверждаете, что между приложением на C++ и на QML абсолютно не будет разницы в производительности?
Чем докажете?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #44 : Август 01, 2016, 06:38 »

Но даже если нужного эффекта нет - написать с использованием QMLных шейдерэффектов его будет куда проще и эффективнее. Фича в том, что в качестве текстур можно использовать QMLлные объекты. То есть если тебе хочется применить свой кастомный шейдерэффект к фоточке - тебе нужно написать только конкретный GLSL, не заморачиваясь о других деталях, ...
За свою жизнь я написал пока один GLSL шейдер  Улыбающийся Правда большой. Отладка длилась полгода (разнообразные карты юзеров). Сейчас мой шейдер пора апдейтить, но мы с удовольствием наймем человека, мои способности слабоваты. Так что если GLSL "такой хароший" - см раздел "объявления" здесь.

Что касается "подкрашивания пикселей" (именно такие шейдеры я видел для QML), то куда проще сделать это в QImage, навязывание GLSL не есть достижение.

Вот я привел пример кастомного эффекта - и как-то не увидел "дизайнерской жилки" у "ребят QML 120+" Улыбающийся Ну ладно, в коробке нет(?), дальше что? Да ничего, ни одной мысли не прозвучало.

..а стандартные имеющиеся готовы реализовать большинство среднестатистических потребностей, и их база постоянно растет.
Применяя "крутой" стандартный эффект, не возникает мысли/беспокойства типа
Цитировать
А если другой ребятенок QML применит тот же стандартный? Может цена всему этому "рупь ведро", т.к. оно у всех уже есть?
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.