Re[7]: Реализации независимых элементов GUI под винду
От: SaZ  
Дата: 15.03.21 14:34
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Да я-то с удовольствием, но оно ж все равно тащит в EXE/DLL кучу зависимостей, от которых не избавиться никак, ибо на них завязан сам фреймворк.


Вам ничего не мешает собирать всё в один файл. С другой стороны, в коммерческом продукте вам ничего не мешает завернуть весь архив в один файл или просто сделать инсталлятор.
Для продуктов чуть сложнее блокнота это нормально, когда у вас файлов больше чем один .exe.

Вы опять же, описываете какие-то свои странные желания, уходя от того чтобы описать реальную проблему (которой, скорее всего нет).

SaZ>>Опишите исходную решаемую задачу


ЕМ>Например, мне нужно сделать передачу в реальном времени нескольких звуковых потоков, чтобы свойства каждого потока отображались на экране по возможности компактно, но чтобы в любой момент их можно было развернуть в подробную картинку. Там нужно показывать и текстовые параметры (частоту дискретизации, разрядность отсчета, количество каналов и т.п.), и столбчатые индикаторы уровней сигнала, и графики задержек на буферизацию.


С реальным временем вы перегнули, я уверен что задержка в 16-50мс на отрисовку будет не очень критична для пользователя, поскольку он её не заметит
Хотите быстро рисовать — откажитесь от WinAPI/GDI и используйте ну хотя-бы OpenGL. Опять же, в Qt это можно в несколько строк кода сделать. А ещё лучше — сразу написать компонент QtQuick. Тем более там из коробки есть графики, правда под GPL либо платной лицензией.

ЕМ>Главная мотивация — простота реализации, но не ценой увеличения размера приложения в десятки раз (сейчас там всего 100-150 кило байт). Я понимаю, что на Qt это делается кратко и изящно, но Qt непременно тащит за собой всю машинерию по отрисовке, платформо-независимые обертки над системными функциями и прочее. Поэтому хочется иметь реализации типовых элементов (список, таблица, сворачиваемое дерево, масштабируемый график и т.п.) или в виде классов C++, или в виде процедур, которые можно легко обернуть в классы.


В очередной раз вопрос — почему у вас появилось ограничение в 150 килобайт вместо 20 мегабайт?

Если вам надо писать компактный и быстрый софт под специальное железо и у вас УЖЕ ЕСТЬ реальные проблемы с производительностью — переходите на ассемблер. Иначе — вы просто сами себе создаёте проблемы на пустом месте.
Я как-то раз выводил графики на аудио пульте под управлением Windows ME, но там был готовый АПИ .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.