Делаем краудсорсовый проект по Canvas - страница 7

 
o_O:

к сожалению нет полноты кода. сейчас чартовые события не различают A и a

По этому вопросу в СД тоже уже написал

пришли хорошие вести из СД по этому вопросу

в следущем билде добавятся константы TerminalInfoInteger для определения состояния CapsLock и Shift

сейчас они недокументированные

1020 - CapsLock
1016 - Shift
1255 - код текущего языка ввода

то есть edit уже наполовину рабочий. ))

Осталась вторая задача - отучить чарт перехватывать пробел и enter.

 
Vasiliy Sokolov:
Тормоза если и есть, то незаметны невооруженным глазом. В моей панели в одно время MouseMove дясяткам тысяч элементов рассылался, в т.ч. невидимым, потом зделал более умную рассылку, но визуально скорости это не прибавило.
Тормоза определенно есть. Зависят от кол-ва объектов. Проверял. Когда кол-во объектов начинает превышать 400 -500, перетаскивание моих окон начинает притормаживать... Работал над повышением эффективности кода в течении месяцев, но преодолеть этот эффект не удалось. Думаю, чем мощнее комп, тем при большем кол-ве объектов, торможение будет оставаться незаметным.
 
Реter Konow:
Тормоза определенно есть. Зависят от кол-ва объектов. Проверял. Когда кол-во объектов начинает превышать 400 -500, перетаскивание моих окон начинает притормаживать... Работал над повышением эффективности кода в течении месяцев, но преодолеть этот эффект не удалось. Думаю, чем мощнее комп, тем при большем кол-ве объектов, торможение будет оставаться незаметным.
На производительность влияет алгоритм доставки события + минимальная реакция элемента на переданное событие. Здается что в Вашем случае тормоза были не из-за самого события, а из за алгоритмов, которые эти события обрабатывали.
 
o_O:

несколько экземпляров индкиатора выводят на один канвас? ну не знаю. чёт стремно.

Не. Короче все что мне нужно -- событие MouseDown, я буду щаслив
 
Комбинатор:
Не. Короче все что мне нужно -- событие MouseDown, я буду
Отслеживайте событие CHARTEVENT_MOUSE_MOVE, в нём передаётся состояние клавиш мыши, Crtl и Shift.
 
Vasiliy Sokolov:

Мне кажется, что после статей Анатолия снова создавать теже яйца только в профиль, - как минимум странное времяприпровождение. Графика это вообще не актуальная тема для МТ.

  • Пользователям  ненужны графические интерфейсы. Как следствие, монитизировать графический интерфейс невозможно и его разработка никода не окупиться.
  • Если хотите поднять скиллы, то уж лучше сразу куда-нибудь джуниором устроиться. Так хоть какую-то деньгу сразу получать начнете и потехоньку скиллы поднимите.
  • Слишком узкая целевая аудитория. Кому нужны библиотеки? - Абсолютно никому, кроме горстки программистов, да и те уже давным давно все нужные им библиотеки написали. У меня например своих графических библиотек, аж целых две.

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

+это да

как только говорил пользователю - давай  сделаю реально крутой и  красивый интерфейс!  ОНИ ВСЕ ГОВОРЯТ  - НЕ НАДО!

реально им нужен советник без всяких цветочков украшений    и дополнительного функционала - т е   без удобного красивого интерфейса!

Самое важное что пользователи желают   так это   функционирование  продукта согласно  ТЗ.

Все мы знаем , что на  проработку  интерфейса  +  на дизайн -  уходит приличное время  еще  на  отладку тратится очень дорогой ресурс ВРЕМЯ!

 
Ilyas:
Отслеживайте событие CHARTEVENT_MOUSE_MOVE, в нём передаётся состояние клавиш мыши, Crtl и Shift.
Я ж объяснял сверху, это событие не привязано к объекту и слишком часто шлется. Не привязано к объекту важнее.
 
Ilyas:
Отслеживайте событие CHARTEVENT_MOUSE_MOVE, в нём передаётся состояние клавиш мыши, Crtl и Shift.

не совсем то что ожидается.

речь про то, что событие OBJECT_CLICK генерируется после поднятия мышки.  В нём нельзя отследить момент прижатия мышки на объекте.

Хочется события начала. прижатия мышки на объекте.

Комбинатор:
Я ж объяснял сверху, это событие не привязано к объекту и слишком часто шлется. Не привязано к объекту важнее.
CHARTEVENT_OBJECT_DRAG  - как я помню он тоже генерируется не в начале перемещения, а уже после как отпустили мышу?
 
o_O:
CHARTEVENT_OBJECT_DRAG вообще практически бесполезное событие. Потому что сигнализирует о конце перетаскивания стандартным способом графического объекта (т.е. он должен быть выделенным, а выделенные объекты отлично удаляются по нажатию del)
 
Vasiliy Sokolov:
На производительность влияет алгоритм доставки события + минимальная реакция элемента на переданное событие. Здается что в Вашем случае тормоза были не из-за самого события, а из за алгоритмов, которые эти события обрабатывали.

Ну смотрите, доставка события и алгоритм самые простые из возможных: В OnChartEvent() на событии MouseMove внутри которого фиксируется также состояние нажатой левой кнопки мышки, ловим событие нажатия на ручку перемещения окна. Далее, вызываем функцию перемещения окна, в которой внутри цикла всем объектам окна применяется смещение по Х и по Y (с помощью ObjectSetInteger()) равное текущему смещению курсора. Вот и все.

При этом, ясно, что чем больше объектов в окне, тем больше объектов нужно двигать. Судя по всему, большое кол-во сдвигаемых объектов и вызывает торможение...