Опубликован выпуск Dear PyGui 1.0.0 (DPG), кросс-платформенного тулкита для разработки графического интерфейса пользователя на языке Python. Наиболее важной особенностью проекта является использование многопоточности и вынос операций на сторону GPU для ускорения отрисовки. Ключевой целью формирования выпуска 1.0.0 является стабилизация API. Нарушающие совместимость изменения теперь будут предлагаться в отдельном модуле "experimental"...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=55963
Ну выглядит просто замечательно, однако есть одно "но":> It is written primarily in C/C++
Живого продукта на мёртвом языке не напишешь.
Ты там ничё не попутал? А выглядит, ну, для интерфейса индишлака пойдёт. Для гуя стремновто, вроде у блендера получше. В нём можно редактируемый таблевиещ из бд в пару кликов намутить, как в кутэ?
>> Живого продукта на мёртвом языке не напишешь.
>
> Ты там ничё не попутал?Rust ведь без LLVM не компилируется, а LLVM - на C++.
>>> Живого продукта на мёртвом языке не напишешь.
>>
>> Ты там ничё не попутал?
> Rust ведь без LLVM не компилируется, а LLVM - на C++.1) Казалось бы, причем тут Rust?
2) Вне альтернативной опеннетной реальности, описываемой в "Предания опеннета о расте, рулоны на вес!"
Rust компилируется rustc, который на Rust. LLVM - всего лишь бэкэнд.
https://rust-gcc.github.io/
> This is a full alternative implementation of the Rust language on top of GCC with the goal to become fully upstream with the GNU toolchain.https://github.com/bytecodealliance/wasmtime/tree/main/crane...
> Cranelift is a low-level retargetable code generator. It translates a target-independent intermediate representation into executable machine code.
> всего лишь бэкэндвсего лишь бэкенд? бэкенд - это и есть главная часть.
>> Rust ведь без LLVM не компилируется, а LLVM - на C++.
> всего лишь бэкенд? бэкенд - это и есть главная часть.Очередное, ничем не подтвержденное утвержение, ловко игнорирующее и реальность, и остаток цитируемого.
И почему я не удивлен?
Так ты попробуй собрать хруст без LLVM, и реальность зазвенит в твоей голове очень звонко.
https://rust-gcc.github.io/
>> This is a full alternative implementation of the Rust language on top of GCC with the goal to become fully upstream with the GNU toolchain.
> Так ты попробуй собрать хруст без LLVM,А ты не очень умный, да?
>Так ты попробуй собрать хруст без LLVMВсегда так собирал - с системным LLVM.
>LLVM - всего лишь бэкэнд.Единственный полностью рабочий бэкенд, выполняющий всю работу.
>> This is a full alternative implementation of the Rust language on top of GCC with the goal to become fully upstream with the GNU toolchain.
То есть, опять написали фронтенд к крестовому компилятору, и выдают за свои достижения.
>>Cranelift is a low-level retargetable code generator. It translates a target-independent intermediate representation into executable machine code.
Первое и единственное попадание. Впрочем, о качестве кода, генерируемого cranelift, говорить не приходится, да и заточен он на wasm, а не на реальный натив.
>>> This is a full alternative implementation of the Rust language on top of GCC with the goal to become fully upstream with the GNU toolchain.
> То есть, опять написали фронтенд к крестовому компилятору, и выдают за свои достижения.Ссылка где "выдают за свои достижения"? Или балабол?
>>>> Rust ведь без LLVM не компилируется
>>>Cranelift is a low-level retargetable code generator. It translates a target-independent intermediate representation into executable machine code.
> Первое и единственное попадание.Местных чтецов жопой мимо темы? Охотно верю.
> Ссылка где "выдают за свои достижения"?Ccылка рядом же лежит: https://en.wikipedia.org/wiki/Rust_(programming_language)#Performance
Цитата: "Since Rust utilizes LLVM, any performance improvements in LLVM also carry over to Rust."
>> Ссылка где "выдают за свои достижения"?
> Ccылка рядом же лежит: https://en.wikipedia.org/wiki/Rust_(programming_language)#Performance
> Цитата: "Since Rust utilizes LLVM, any performance improvements in LLVM also carry over to Rust."Извини, но ссылку на "очередной анонимный балабол не умеет в англицкий" я не запрашивал.
Попробуй еще раз: "опять написали фронтенд к крестовому компилятору, и выдают за свои достижения - вооот тут вот"
Мёртвый язык? Где? Или что не раст, то уже мертво?А взять хотя бы недавние рейтинги: https://www.opennet.dev/opennews/art.shtml?num=55945
Где раст, и где C и C++?
> Где раст, и где C и C++?Rust компилируется с помощью LLVM, который а С++: https://en.wikipedia.org/wiki/Rust_(programming_language)#Performance
не видитесь на троллинг .. QwertyReg тот еще провокатор )
> Мёртвый язык? Где?Устаревший архитектурно и морально ещё в конце 90-х, неспособный в современные реалии и тянущий рудименты из 70-х язык, формально, конечно, живой, на нём тянут какое-то легаси, но называть его "живым" - лицемерие.
Вы не вкусно набрасываете.
Надо было: выгдядит замечательно, остальное поправят на rust.
А твой доктор что говорит? Шансы есть или уже все?
Ёшкин кот, openbsd 7.0 уже два дня как вышла, а новость никто переводить не хочет. Мдя.
> Ёшкин кот, openbsd 7.0 уже два дня как вышла, а новость никто
> переводить не хочет. Мдя.Это СПО, возьми да переведи, сообщество скажет "фигня".
да кому ваша о`пня сдалась, питон на первой строчке в тиобе
от где жаренные новости
удаляй OpenSSH тебе нафиг не нужна
Технически завтра выйдет.
Released Oct 14, 2021. (51st OpenBSD release)
https://www.openbsd.org/70.html
The current release is OpenBSD 6.9, released May 1, 2021.
А где вышло то?
https://www.openbsd.org/
что там они уже больше не mastErbating monkeys?
А зачем их переводить, если их можно в оригинале того?
Работает хорошо, всё вроде есть, но есть один большой минус (по крайней мере у imgui) - работает этой гуй в только polled-режиме. Даже когда на экране нет обновляющихся элементов или анимации, потребление времени процессора всегда 10-20%. Если хотите меньше потреблять времни ЦПУ, то разработчики рекомендуют ставить sleep() в основной цикл. Сами понимаете такой подход приводит задержкам ввода, более чем заметным. Это была причина по которой мы отказались от него.
Огорчительно.
Dear PyGui is a simple to use (but powerful) Python GUI framework. Dear PyGui is NOT a wrapping of Dear ImGui in the normal sense. It is a library built with Dear ImGui which creates a unique retained mode API (as opposed to Dear ImGui's immediate mode paradigm).
У меня 0% потребление CPU со стороны Dear ImGui, ну т.е. вообще никак не ощущается, и реакция интерфейса при этом моментальная, быстрее чем любые компоненты любых других GUI, включая нативные. Правда пришлось пошаманить с исходниками ImGui и базовым примером. После внесённых правок желание использовать что-либо другое для GUI окончательно отпало.
А, что именно пришлось пошаманить можете рассказать?
> вынос операций на сторону GPU для ускорения отрисовкиГде мы свернули не туда? Почему всё стало тормозить?
Выдать rust n00by, он спасет ситуацию11!!
>Где мы свернули не туда? Почему всё стало тормозить?Лет десять-пятнадцать назад забили на все оптимизации самого кода программ, возложив "рутину на автоматы" и начав молиться на новое железо...
С тех пор всё становится только всё более громоздким нагромождением костылей и предположений вперемежку с небрежно оформленным кодом, разобраться в котором никому не то, чтобы не интересно - противно...
И улучшений не наблюдается.
Началось это вот старческое бубубу. 10 лет назад бухтели что всё по стало требовать двухядерный проц и 512 мегабайт оперативки. А ещё 10 лет незад бухтели что вот ПО совсем ужасное стало HT нужон и DDR память подавай. Единственное что по факту нового случилось за 10 лет для вас это голова от водки болеть начала и член стоять перестал.
> Началось это вот старческое бубубу.Ну давай, бухти мне про то, как эффективно работают автоматы, о "программировании без программистов", о том, что "оно должно само"...
А я посмотрю на то, как для обмена десятком сигналов с UPS написаны полугигабайтные "утилиточки"...
и запакованы в модный обтягивающий флатпак, тянущий ещё пару гигов шапки/гнома
Так никто и не говорил что оно работает эфективно. Оно работает в соотвествии с железом которое наиболее распространено сейчас на рынке и это не ново. Так было 10 лет назад и так будет ещё через 10 лет. У "автоматов" цель создать слой абстракции упростив разработку.
Мы 20 лет назад бухтели, что ХРюнделю надо АЖ 256 метров памяти (хотя на деле оно было согласно и на меньшее ).Одна проблема - гуй ХРюнделя стабильно предсказуемо и удобно делал то, что не могут обеспечить эти ваши гномокеды на тредрипперах с 64 гигами оперативы и видяхе за 150 тонн целковых.
Про божественную семёр.очку молчу (надо только тыцкнуть классическое оформление без богомерзких аеро или как оно там и готово).Deal with it.
О да, эта хр… Больше одной примитивной программы не запускай, слайдшоу постоянные наблюдай, молись на своп… Я тогда на таком поставил 1 гиг памяти, выкинул венду и накатил 4 кеды -- прекрасно залетало всё, кучу программ запукаешь, ничего не тормозит… Можно держать браузер с 1000 вкладок и ничего умирать не будет. Убогая спемёрка там не прижилась, это была худшая венда в истории объективно. Воможно, даже хуже висты, из-за того что она более жручая стала. Нормальная юзабельная венда появилась только в 8.1, но она уже хотела ещё больше памяти, на 1 гиге не запустишь.
> Где мы свернули не туда? Почему всё стало тормозить?Где свернули не туда? Когда программисты перестали понимать как работает компьютер и начали писать код, удобный для себя, но не для компьютера. За это в том числе спасибо Java, .NET, JavaScript, Python и далее по списку. Пока был C/C++ и Assembler, где была непосредственная работа с памятью и был контроль за тем, какой машинный код сгенерирует компилятор, программисты были вынуждены хоть что-то понимать об устройстве компьютера, но после появления Java и прочего, где прямо в учебниках чёрным по белому фактически было написано: "Хватит думать! Мы сделали для вас, домохозяек, язык, который наконец-то вы сможете осилить."... мы приехали... Просто людей отучили решать задачи, доходить до понимания сути вопросов, учиться, думать и т.д... А теперь читаем комменты о том, что для чтения новостей нужно минимум 64 гигов оперативки, XX-ядерный проц... и портативную электростанцию рядом...
> В DearPyGui не используются предоставляемые системой нативные виджеты, а выполняется отрисовка собственных виджетов через обращение к графическим API OpenGL, OpenGL ES, Metal и DirectX 11, в зависимости от текущей операционной системы.Слава б-гу, хоть эти догадались сделать как надо.
Это у тебя арма без видеоускорения не было.
> Это у тебя арма без видеоускорения не было.Что верно, то верно.
В результате их приложения нигде не будут выглядеть одинаково с приложениями этой платформы плюс поведение их виджетов будет всегда отличаться. Например во всех строках редактирования работает выделение всего текста по Ctrl-A, а у них -- нет и т.д.
> В результате их приложения нигде не будут выглядеть одинаково с приложениями этой
> платформыBlender не выглядит одинаково с приложениями винды или мака, но кого это волнует?
> плюс поведение их виджетов будет всегда отличаться.
От чего конкретно и почему?
> Blender не выглядит одинаковоЕсли DearPyGui — это для разработки Blender, то вопросов нет. Просто в документации нужно указать что для обычных приложений DearPyGui не подходит. Очевидно что это уже не "сделать как надо", а "сделать как надо для узкого круга задач типа GUI для Blender".
> От чего конкретно и почему?
Потому что две разных реализации (системная и их) не обязаны совпадать и обязательно не совпадут, для синхронизации поведения нужно прикладывать специально усилия, а я уверен что авторы DearPyGui не будут это делать из-за нехватки ресурсов разработки.
А "обычные приложения" - это что?
да-да про суперэффективное масштабируемое и быстрое рисование видяхой гуёв я слышу со времён берилокомпизов и их течных студентофанатоктолько слышу. на деле всё почему-то несколько иначе.
На деле есть Blender, например. Что скажешь про тормоза в его гуе?
скажу, что не использую блендер.мне чтобы постичь реализованное на деле а не в сказках быстроегуинаопенгеле нужно обязательно использовать блендер? и ничего кроме блендер?
лол
не говоря уже о том, что ему помогают жырнокорпы. без этого гуй на тридэ невозможен бггг
Гуй на OpenGL в нём был задолго до поддержки корпами.Правильно ли я понимаю, что твоя аргументация из "не бывает быстрого гуя на opengl" превратилась в "бывает в блендере, но я им не пользуюсь, и ваще там корпы"? Т.е. ты на полпути к признанию, что погорячился? :)
> мне чтобы постичь реализованное на деле а не в сказках быстроегуинаопенгеле нужно обязательно использовать блендер? и ничего кроме блендер?Библиотеки enlightenment вроде умели выводить через opengl, но не факт, что они реально выводили. Я просто не помню, я их щупал 10+ лет назад: возможно как-то собрать надо было по-особому эти библиотеки и приложения ими пользующиеся. Или может это в конфигах где-то можно было указать. А может даже приложение должно было явно заказать вывод через opengl. Всё что я помню сейчас -- там всё как-то не совсем тривиально было. Но у них ещё демка была, можно было пощупать разницу в скорости одного и того же гуя выводимого через X11 и через OpenGL.
Ещё я чёта какой-та шум слышал про opengl-бекенд к gtk, но я не вслушивался, и не знаю, правильно ли услышал.
А компизы, которые ты выше упоминаешь, они не о том ваще. Они о том чтобы композитить окошки, а не о том, чтобы сваливать отрисовку буковок внутри окошка на gpu.
о, норм коммент в отличие от некоторых выше.теоретически да, лучше всего отрисовывать максимально "близко" к железу - пусть эти видяхи работают. Помню есть какой-то эмуль терминала, который своей фишкой объявил именно быструю отрисовку через видяху.
В этой штуке можно навалять тему для Кедов?
Или лучше по старинке, в Крите?
> вынос операций на сторону GPUМожет хватит всё взваливать на GPU, вы цены на видеокарты видели?
>Может хватит всё взваливать на GPU, вы цены на видеокарты видели?это всё инерция - пока поймёшь тренд, пока напишешь... В общем чуть подождать и увидим новости про по для эпохи дефицита чипов - перепишут всё на ц, а на улице будут наступившего на ногу называть яваскртитером, а потом это слово сочтут слишком неприличным и матершинным для приличных людей.
лолкек
Большой плюс Dear ImGui - его можно интегрировать почти с любым game engine - пишется маленький драйвер для отрисовки текстур - на гитхабе полно адаптаций.
Реально быстрый и наверное можно сказать моментальный UI, и там есть все контролы из коробки и даже больше :)
Из минусов, как выше отметили - возможна некритичная загрузка процессора.
> там есть все контролы из коробки и даже большеХ-ня это: ни таблиц, ни текстового редактора.
Да и плоские виджеты сделаны для уродов и игроманов.Вердикт: деловое офисное приложение на этой хипстерской жручей поделке не напишешь.
Там есть текстовый редактор, и даже с подсветкой синтаксиса, таблицы тоже есть, в третьих Dear ImGui не для офисных приложений а для UI в графических программах.Вердикт - новость не читаем, ничего не знаем, глупости на опеннет пишем
> Dear ImGui не для офисных приложений а для UI в графических программахОб этом где-то написано?
Не поленился специально для тебя ссылку открыть, раз сам не осилил.https://github.com/ocornut/imgui
Dear ImGui is designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools (as opposed to UI for the average end-user). It favors simplicity and productivity toward this goal, and lacks certain features normally found in more high-level libraries.
Dear ImGui is particularly suited to integration in games engine (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on consoles platforms where operating system features are non-standard.
> развиваемой теми же авторамичиво чиво?
Там походу майнер встроенный. Ибо даже на хелловорде с картинкой нагружается проц.
тынепонимаешьэтодругое.здесь всё быстро пестоном через ГПУ. а ты - луддит.
Да ну, просто FPS не ограничен. Оно тебе рендерит статичную картинку с 300 fps, вот и нагрузка. Современная разработка ПО она такая - сверху блестки, под капотом лефтпады и копипасты со стаковерфлоу, соединенные соплями и палками.
рендеринг на cpu теперь не уже модный? обязательно надо будить gpu, чтобы отрисовать то, что раньше рисовалось на древних пнях
Dear ImGui в принципе может и софт-рендеринг, там слой реального рендеринга отделён, т.е. есть "драйверы" для отрисовки через OpenGL, Vulkan, DirectX, Metal, WebGPU и др. Всё сделано максимально переносимым. Но на самом деле оно создавалось для GUI графических приложений, которые изначально используют GPU.
Кстати, есть даже отдельный софт, который добавляет возможность отрисовки GUI с помощью Dear ImGui в текстовом терминале (!)
на скринах редактор интерфейсов написанный на этом же тулките?
Ох, как же оно отвратительно вглядит, особенно шрифт... Если люди проделали такую огромную работу, разве нельзя было немного заморочиться и расставить нормальные отступы? Ну а шрифт — вообще без комментариев.
Что мешает использовать тот шрифт, который нравится? На скринах встроенный шрифт.
и естественно "Привет, МИР!" рендерится в ??????, ???!
по мне так какая-то непонятная херня
Эта "непонятная херня" преимущественно для тех, кто создаёт приложения для GPU.
а че обязательно нужно гпу для отрисовки всякой шляпы? Пусть вон драйвер видюхи этим мается или сама ось. Нахер мудреное городить. Садомазохизм, Красявости.
На GPU многие вещи делаются проще, производительность несравнимо выше, отрисовку графики можно совмещать с вычислениями.
> Ключевой целью формирования выпуска 1.0.0 является стабилизация API. Нарушающие совместимость изменения теперь будут предлагаться в отдельном модуле "experimental".Python и нарушение совместимости - братья навеки.
Да ладно тебе. Один раз, не нарушитель.
Нет, спасибо. Как-нибудь с PySide обойдусь.
Да, выпуск ААА+++ гуй-библиотеки, а по факту:
$ sudo pip3 install dearpygui
Successfully installed dearpygui-1.0.0
$ python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dearpygui.dearpygui as dpgTraceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/dist-packages/dearpygui/dearpygui.py", line 22, in <module>
import dearpygui._dearpygui as internal_dpg
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/local/lib/python3.7/dist-packages/dearpygui/_dearpygui.so)
>>>Это финиш.
Надо было https://github.com/hoffstadt/DearPyGui/issues писать, а не на opennet.
> $ sudo pip3 installЗапускать pip от sudo? Бесстрашный.