OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 01:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Пятница, 02 Октябрь, 2015 08:24 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Роман М. писал(а):
Иван Денисов писал(а):
Господа, кому интересна качественная прокрутка текста в ББ, прошу протестировать данный модуль.
Переписал заново вычисление позиции при прокрутке.

Иван, на каком документе ощутимее всего заметны тормоза при прокрутке? У меня на мониторе почему-то не видно разницы.

Бери документы с большим числом Кириллицы, еще TrueType метрику включи для большего эффекта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Пятница, 02 Октябрь, 2015 09:21 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Я тут Вань, нечаянно подумал, почему для мышки три события.
Возможно я не прав, но как-то по аналогии с Visual Basic:
1. Mouse_onDown
2. Mouse_onClick
3. Mouse_onUp.

На сколько я понял из исходников БлэкБокс, он не различает эти события. Так что можно смело ставить счётчик на три.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Суббота, 03 Октябрь, 2015 12:46 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 220
Откуда: Питер
При применении этого модуля прокрутка стала какая-то рваная, что ли... Чисто субъективное впечатление.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Суббота, 03 Октябрь, 2015 14:12 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
GameHunter писал(а):
При применении этого модуля прокрутка стала какая-то рваная, что ли... Чисто субъективное впечатление.

Исчез эффект анимации. Раньше по три раза рисовалось, поэтому был smooth эффект... А на русской документации например сравните.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Суббота, 03 Октябрь, 2015 17:09 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
ilovb писал(а):
Т.е. в данном случае проблема в TestFoo2.Do, но профилировщик ББ этого не знает.

А ты дождался завершения выполнения своей мега-процедуры в TestFoo2?
Кстати, в профилировщике компилятора FoxCompiler из A2 та же самая проблема - если количество итераций вменяемое, то выдаётся правильный результат, иначе, естественно, фигня.
Вот интересно, как в других средах?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Вторник, 06 Октябрь, 2015 03:56 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Доработал еще. Неверно была прокрутка вниз сделана. Теперь вроде все корректно.


Вложения:
Views.odc [58.97 КБ]
Скачиваний: 791
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Пятница, 09 Октябрь, 2015 09:33 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Кстати! Заметил, что исчез старый баг, когда в Wine окно выходит нижней частью за границы экрана, было размазывание содержимого по окну.
Вложение:
badScrol.png
badScrol.png [ 11.45 КБ | Просмотров: 9718 ]


Теперь этого не наблюдается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Суббота, 10 Октябрь, 2015 22:16 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Йо-хо-хо.

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

Выкладываю исходники новой HostFonts для версии Центра.

Что при этом обнаружил!? GatherString из TextSetters обрабатывает кириллические тексты побуквенно, что с одной стороны хорошо ­— дерево получается маленькое, но с другой стороны — это явно косяк.

Может кому-то придет в голову как это вылечить?
Код:
   PROCEDURE GatherString (rd: StdReader);
      VAR i, len: INTEGER; ch: CHAR;
   BEGIN
      i := 1; len := LEN(rd.string) - 1; ch := rd.r.char;
      WHILE (i < len)
         & (rd.r.view = NIL) & (rd.r.attr = rd.attr)
         & (    (" " < ch) & (ch <= "~") & (ch # "-")
            OR  (ch = digitspace)
            OR  (ch >= nbspace) & (ch < 100X) & (ch # softhyphen)
            )
      DO   (* rd.r.char > " " => ~rd.eot *)
         rd.string[i] := ch; INC(i);
         rd.eot := rd.r.eot;
         rd.r.Read; ch := rd.r.char; INC(rd.pos)
      END;
      rd.string[i] := 0X; rd.setterOpts := {wordJoin};
      IF i = 1 THEN
         IF WordPart(rd.string[0], 0X) THEN INCL(rd.setterOpts, wordPart) END
      END;
      rd.w := rd.attr.font.StringWidth(rd.string); rd.endW := rd.w
   END GatherString;


Вложения:
Fonts.odc [23.99 КБ]
Скачиваний: 732
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Вторник, 02 Февраль, 2016 20:53 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Мы с Олегом Чередниченко устроили мозговой штурм и вместе решили проблему:
http://forum.blackboxframework.org/view ... 3135#p3135

Всего одна строчка кардинально влияет на эффективность отрисовки не ASCII текстов.

Вот сравните две версии:
До: http://blackboxframework.org/unstable/i ... a1.389.zip
После: http://blackboxframework.org/unstable/i ... a1.415.zip


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прокрутка Крысой
СообщениеДобавлено: Четверг, 17 Март, 2016 10:33 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Ваня. Я сейчас тебе подкину работы. :mrgreen:
Заметил только-что

Пока режим просмотра -- тормоза при прокрутке.
Как только ставлю режим редактирования -- тормоза испаряются. Где-то надо в режиме просмотра ещё допилить)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB