если про винду.
А какие WinAPI вы используете для передачи вызова? И передаете куда?
Обычные окна имею одну точку ввода, и есть как минимум 2-3 функции передами нажатий.
Игровые даже собственные интерфейсы имеют, чтоб так сказать захватывать ввод, и заодно одуплять кулхацкеров со скриптами.
Перерисовка рабочей области должна быть отделена от рисования. Если переместите shape.repaint() в moved() то по идее все будет норм на любой скорости.
Пока область перериросовывается, вы не можете на ней рисовать, отсюда и разрывы при быстром движении.
Копайте глубже, смотрите как работает repaint, возможно его нужно переделать.
Александр, ну вариантов у вас не особо много, лет 5-10 назад вообще полноценные виртуалки поднимать пришлось бы. А зачем само приложение туда пихать? Это же среда выполнения только в докере находится, пока приложение не работает, оно никуда не смотрит.
Высоконагруженный фронт-энд, чот ржу.
Там в один монитор 100500 человек смотрит и каждый своё нажать пытается?)
1. Около 4000 пользователей единовременно будут пользоваться UI интерфейсом.
ну и пусть, каждому же по интерфейсу.
Это не высокая нагрузка.
2.Сложный UI, включающий в себя такие элементы как Диаграмма гранта с функциями drag&drop элементов,
Вот тут уже важно выбирать правильный CSS/UI фреймворк , который если и имеет свистоперделки, то они отключаемые. Если обоновление частое, то это должно быть что-то простое.
3. Сложная логика на бэкенде,
может пускай бэк её сообщает, а не тратит время на перекрикивание в лесу?
Пускай 2 очереди будет:
1. - действие клиента.
2. ответы сервера. Сообщает на что он так отреагировал а интерфейс уже сам адаптируется.
стоит между React или Angular 2.
берите тот, который умеет обновить только нужный компонент, без дочерних. Пускай у вас есть div с графиками, тулбаром, счетчиками и списком. Обновляется график - все это дочернее говно зачем-то начинает перерисовываться потому разработчик фреймворка решил что надо дочерние уведомить если владелец обновился... и ты такой "заебис! клиенты так счастливы что у них rtx плавятся..." и начинаешь искать костыли потому что проект уже запущен и менять фреймворк - дорого.
P.S. думать надо о реализации сервера, а уи можно потом хоть из говна и палок собрать, всеравно ему ждать когда сервер отдаст данные.
Виктор, хоть бы почитали то на что ссылаетесь, jpython это реализация питона на джаве, а не транслятор одного в другое. Грубо говоря у тебя есть проприетарное приложение и ты задолбался постоянно его модифицировать по всяким мелочам да под 100500 клиентов, встроил туда jpython, и пускай клиенты сами кастомизацию проводят...
Написал скрипт на питоне, объявил его загрузку в __init__.py и ребутнул jvm, всё приложение приросло новым, добрым, вечным. Вот что это.
В общем смысле никто не будет такой идеей серьёзно заниматься, потому что языки принципиально разные, и тебе придется писать целый фреймворк-шину на ноде, который гарантирует что транслируемый код пхп будет работать на 101% так же как он работает на пхп. Если этого принципа не будет, то ваш проект никто и использовать то не будет, потому что пхп выдает цену 2.0007, а нода 2.000008.
Надим Закиров, там масса факторов. Соединение может быть постоянным а может быть переменным, бразуер умеет в кеширование, браузер умеет делать так что вы думаете что идет соединение, а на самом деле лимит выбран и браузер ждет свободный сокет.
легче на форум разрабов сходить да спросить.
Надим Закиров, без понятия, чтобы узнать ответ на эти вопросы, копайте в их коде или спросите у разработчиков. Бразуер очень не тривиальное ПО и крайне умное в плане распределения нагрузок.
Кроме того вам элементарно не составит труда тупо поэксперементировать с браузером и посмотреть когда он захлебнется.
кликхаус читал про него, однако оно standalone или у кого-то в облаках?