Галерея UI написанных на MQL - страница 57

 
Реter Konow #:

...

Есть идея как изменить код и ускорить отрисовку в 2- 3 раза. Но займусь этим после основной работы. ...

Проанализировал сложность задачи и ценность конечного результата. 

Вывод: нет смысла это делать.

Нет большого смысла ускорять первую отрисовку.  А полторы секунды на построение 15-ти окон со сложной графикой и полосами прокрутки - нормальный результат. Первую отрисовку можно спрятать от глаз пользователя осуществив ее до открытия окон. Визуально, окна появятся мгновенно после полутросекундной паузы. Если конечно он захочет, чтобы открывались сразу 15 окон, что врядли.

Можно не рисовать заднюю сторону окна. Будет выйгрыш в ~20мс. Звучит не впечатляюще.

На прошлой неделе было достигнуто главное: использование сохраненных изображений на всех событиях кроме первого построения. Это огромный прирост в скорости работы с интерфейсом

Остальные лаги имеют отношение к перерисовке окон при смене фокуса, или лишним вызовам. Легко исправить. Не хочу чтобы это основное достижение было проигнорировано из за времени загрузки, которая не так важна. Впрочем, я сам сместил акцент внимания. А зря.

На этом, вопрос скорости первой отрисовки закрываю, по причине его неактуальности и нерелевантности для текущей разработки.

Следующий обновление в воскресенье. Выкачу движок с концептуально завершенным механизмом программного взаимодействия с пользовательской программой.
 
Реter Konow #:
Я проанализировал сложность задачи и ценность конечного результата.

Пришел к выводу, что это бессмысленно.

Создание 15 окон со сложной графикой и полосами прокрутки за полторы секунды - это нормальный результат. Можно нарисовать первую графику до открытия окна, чтобы она не была видна пользователю. Визуально окно появится сразу после полусекундной паузы. Конечно, если пользователь хочет, чтобы одновременно было открыто 15 окон, это маловероятно.

Не обязательно рисовать заднюю часть окна. Выигрыш составит ~20 мс. Это не звучит удивительно.

На прошлой неделе мы достигли нашей главной цели: использование сохраненных изображений для всех событий, кроме первого билда. Это огромное ускорение для интерфейса.

Остальные задержки были связаны с перерисовкой окна при смене фокуса или лишними вызовами. Это легко исправить. Я не хочу игнорировать это значительное улучшение из-за времени загрузки, которое не так важно. Однако я сместил акцент. Вам следует

На этом я закончил рассмотрение первого вопроса о скорости рендеринга, поскольку он не имеет отношения к текущей разработке.

Следующее обновление будет в воскресенье. Я представлю движок с концептуально завершенным механизмом взаимодействия между программным обеспечением и пользовательской программой.

Да, очень важно сначала выпустить полностью функциональное программное обеспечение.

 
hini #:

Да, очень важно сначала выпустить полноценную программу.

Обязательно. 
 
Полностью функциональная базовая версия движка и конструктора, - правильная и достижимая цель. Она требует четкого плана и расставления приоритетов. В свою очередь, это означает конец добавления в планы больших задач и начало решения насущных проблем.

Приведу аналогию со строительством высотного дома. Представим проект, где прораб точно не знает, сколько этажей нужно построить. Допустим, ему не сообщили. Но в душе он творец - творческая личность. Ему все равно. Чем больше - тем лучше. Он любит высокие дома и небоскребы. Пока он работает, стройка идет, этажи прибавляются и дом растет до небес. Но квартиры невозможно передать жильцам, ведь строительные леса не убраны и жилплощадь не почищена. Даже двери не вставлены. Дом недоделан. Но для прораба это мелочи. Он смотрит ввысь. В небо. А жильцы ждут с нетерпением, им нужны квартиры. 

В общем, прорабу пора "сменить прошивку" и ментально перестроиться. Перестать строить этажи и перейти к вставлению дверей в проемы. И начать наконец уборку территории, штукатурку стен, кладку паркета и установку люстр...

 Скажу так: этажи, пока, строится не будут. Вместо этого, будут заканчиваться те этажи которые уже построены. Работа будет запланирована таким образом, чтобы поскорее передать дом жильцам.

В конце концов, для них дом и строился...