Просмотр сообщений
|
Страниц: [1] 2 3 ... 30
|
2
|
Qt / Многопоточное программирование, процессы / Re: Не масштабится :-(
|
: Март 10, 2021, 17:45
|
Буду рад продолжить обсуждение деталей GPU реализации, хотя знаю здесь очень мало. Но уверен ответа не последует, "тыцалки" (или "тыцуны"?) почему-то никогда не хотят говорить о "тыцаемом" Очень приятно блять. thrust использовали на реальном проекте, работает норм, могу рекомендовать. Что быстрее - считать на цпу или передать данные (или создать) на гпу - решай сам, замерь, какие проблемы.
|
|
|
7
|
Qt / Пользовательский интерфейс (GUI) / Стандартное и 2х DPI для ретины для растра - как порешать?
|
: Май 21, 2018, 16:47
|
добрый день,
Прога на виджетах, без qml. Виджеты стилизуются CSS/QSS. Можно ли указывать разные растровые картинки и разные значения паддингов, маргинов для стандартного dpi и двойного (как для дислпея ретины на маке). Или надо иметь 2 разных qss для каждого виджета?
Про винду с ее несколькими вероятными коэфициентами dpi вообще думать грустно сколько надо иметь разных картинок и qss'ов..
Qt 5.10/5.11
|
|
|
9
|
Qt / Qt Script, QtWebKit / Re: QtScript устарела?
|
: Сентябрь 17, 2016, 02:29
|
Посмотрел исходники Qt и Creator'a...
API не публичное, поэтому и в доках его нету. Вообще для моих целей слишком усложнено. Мне надо всего лишь чтобы JS-код выполнялся по шагам типа line by line, ну и может значения переменных чтоб можно было посмотреть из кода.
Пока заюзаю видимо старый добрый QtScript. Пусть JS-движок его медленнее, но лишь бы работало.
P.S. Да, вижу что QQmlDebugService и прочие классы, работают теперь с QJSEngine, а не с наследованным от него QQmlEngine. Но все равно привязок к QML там во всех этих debug-related классах дохренища, недаром оно не стало QJSDebugService'ом.
|
|
|
11
|
Qt / Qt Script, QtWebKit / Re: QtScript устарела?
|
: Сентябрь 15, 2016, 12:49
|
Есть ли какая-то возможность выполнять JS-код построчно (трассировать) кроме как с использованием старого и deprecated QtScript модуля и старого JS-движка из него?
И тот же вопрос насчет дебага JS-кода. Какие планы у Qt-шников на этот счет?
|
|
|
12
|
Qt / Qt Quick / Re: ListView GridView и подобные вью жрут память
|
: Июль 26, 2016, 14:01
|
Ну вообще то QML идёт как смесь интерфейса и логики, чего обычно в языке программирования стараются избежать. Ибо интерфейс отдельно, логику отдельно. А QML был создан именно для разработки интерфейса. Ну и стараются заткнуть им дыру между дизайнером и программистом. PS И если Qt идёт как библиотека С++ с простой логикой и низким порогом вхождения, то QML предназначен исключительно для разработки интерфейса Это все древние бородатые времена. В наши дни qml/js уже давно позиционируется как центральная платформа для написания приложений, а С++ идет чисто для его расширения (и да, пусть меня за это закидают помидорами, но это так). И да, в qml вам никто не запрещает разделить логику и сам интерфейс. Собственно, я так и делал, там есть для этого невизуальные компоненты. QML - это типа чтобы снизить порог вхождения и ускорить разработку. Если знаешь С++/QtWidgets, то смысла в QML я виже не много. Например, мне кажется, проще делать анимации интерфейса (если они нужны). QtQuick Controls 2.0 сделали реально быстрыми. Сам пишу на виджетах и не вижу для себя смысла в QML вообще.
|
|
|
14
|
Qt / Общие вопросы / Re: Насколько нужна сборка приложения "без зависимостей"
|
: Июль 21, 2016, 12:35
|
Кстати о плагинах: а вот как грузятся те же imageformats? Откуда плагин берет хотя бы Qt5Core.dll? Ведь в папке плагина его нет Тут вот глянул пару ссылок https://wiki.qt.io/Deploy_an_Application_on_Windowshttp://doc.qt.io/qt-5/windows-deployment.htmlИ вроде ни о каком инсталлере речь не идет, я так понял что рекомендуют именно "сделать папку которую юзер может копировать". Все-таки налицо некоторая неряшливость - пользователь никогда не должен трогать тот же Qt5Core.dll, а мы его выставляем на передний план (все кишки наружу) Ладно, теперь вот что хотелось бы обсудить: ну а инсталлер, чем он лучше в плане тех же dll ? Он пропишет чего-то в PATH? Так это не очень надежно, как уже говорили, dll с одним именем может быть откомпилена разными компиляторами. Выходит инствлл - не инсталл, ото "клади рядом с exe-шником если хочешь чтоб работало". Или как? 1. Plugins can be linked statically into your application. If you build the static version of Qt, this is the only option for including Qt's predefined plugins. Using static plugins makes the deployment less error-prone, but has the disadvantage that no functionality from plugins can be added without a complete rebuild and redistribution of the application. 2. Смысл инсталлера/анинсталлера в удобстве для конечного юзверя. Куда при этом устанавливаются файлы - вопрос параллельный. (Конечно из-за всех этих dll-хеллов, sxs-херни (side-by-side что-то там), манифестов с версиями внутри просто не хочется возиться с этим говном, проще все носить с собой. Времена, когда десятки/сотни мегабайт были значительной частью винчестера, уже прошли.) Продвинутый юзер может предпочесть и, например, portable app вместо инсталлируемой - можно предлагать такую опцию. 3. При динамической сборке можно легко подменить Qt-шные дллки на модифицированные свои, где логируется вся активность внутри QObject'-наследованных классов, и т.о. легко* реверс-инжинирится логика программы
|
|
|
15
|
Qt / Qt Quick / Re: ListView GridView и подобные вью жрут память
|
: Июль 21, 2016, 00:03
|
Добрый вечер коллеги! Давно я не обращался за помощью, но тут хз уже куда копать и что делать. Проблема следующего рода: Имеет грид вью, на нем изначально загружено 20 элементов, остальные погружаются через fetchMore, так вот, в делегате по сути картинка и текст, он достаточно простой. Так вот, если я начинаю интенсивно подгружать элементы, т.е. двигаться по гридвью вниз так, что бы он дергал fetchMore у меня начинает расти память, за 2к элементов съедает примерно 25-30 мб памяти, для меня это существенно. Делегаты создаются и прибиваются, примерно по 20 штук, именно те которые отображает гридвью Проблема 1. Листвью и подобные им разве не хранят и удаляют делегат только в области видимости(во вью порте), кешбуфер не рассматриваем. Если так, то почему постоянно растет память во время fetchMore. Принудительный запуск сборщика мусора не помогает Проблема 2. Если я выгружаю этот гридвью, с элементами, которые отожрали 20 мб, к примеру через лоадер, память не освобождается, собственно почему? Очистка кеша от энжина не помогает Спасибо.
Очевидно, где-то утечка памяти. Сделайте минимальный пример, где воспроизводится проблема и покажите код. А так можно только тыкать пальцем в небо (например, при fetchMore данные у вас должны откуда-то загружаться и, вероятно, храниться в памяти, может у вас данных на 20Mb загрузилось) Еще можно заюзать тулзы, определяющие утечки. (Например, если проект под Visual Studio, то можно Visual Leak Detector) P.S. Qt-шные делегаты не создаются/уничтожаются постоянно, если вы их имели в виду
|
|
|
|
|