Board.KolibriOS.org
http://board.kolibrios.org/

Shadow buffer - моргающий курсор или так жить нельзя...
http://board.kolibrios.org/viewtopic.php?f=36&t=2019
Страница 6 из 8

Автор:  Mario [ Пн мар 12, 2012 11:31 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

eBox-3300MX (Vortex86MX)
Бывшее стандартное trunk ядро, ревизии 2426, VESA:
Спойлер: Показать
Вложение:
1.png
1.png [ 5.52 КБ | 1784 просмотра ]

Ядро с неморгающим курсором, ревизии 2453, VESA:
Спойлер: Показать
Вложение:
2.png
2.png [ 5.38 КБ | 1784 просмотра ]

Шестеренки 32/30 попугаев соответственно.
Максимальное отставание около 22%. Некоторые параметры стали быстрее.

Автор:  Leency [ Пн мар 12, 2012 11:37 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Это радостные новости. Догнать и перегнать!

Автор:  Mario [ Пн мар 12, 2012 11:38 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Было бы замечательно, если бы ты выложил сравнительные тесты на своем компе.

Автор:  Leency [ Вт мар 13, 2012 12:19 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Мой старый тест
Изображение

И два новых, ядро 2454

Вложения:
2.png
2.png [ 15.9 КБ | 1774 просмотра ]
1.png
1.png [ 14.65 КБ | 1774 просмотра ]

Автор:  Mario [ Вт мар 13, 2012 8:11 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

SVN r. 2455 Некоторое едва заметное увеличение скорости отрисовки.

Автор:  Leency [ Ср мар 14, 2012 1:15 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Словил я этот баг!
Всё просто. Поменяй фоновую картинку :)
Лично я делал так:
1. запустил систему.
2. в эолайте на картинке разрешением больше экрана ctrl+d
После этого закрываешь окно - курсор исчезает, двигаешь - появляется. Сделал размер окна меньше - остался артефакт.

Автор:  Mario [ Ср мар 14, 2012 1:20 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Размер какого окна, какого приложения? Еолайт? Надо описывать все до последнего пука пользователя.

Было уже однажды в истории Колибри:
Цитата:
- А вспомнил! Может быть потому - Я когда мышку двигаю всегда шифт на клавиатуре зажимаю.
- Зачем?
- Не знаю, как то так исторически сложилось...

Автор:  Leency [ Ср мар 14, 2012 1:31 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Да любого окна. Пока писал этот пост мог бы уже 100...

здесь я реши останосться (реально так и было) и САМ пошёл в Кьему, сделал на рабочий стол background.gif не плиткой, а растянул на весь экран. Изменил размер Эолайта, баг проявился.

Марат, мог бы и сам проверить за то время, что писал пост.

Автор:  Mario [ Ср мар 14, 2012 1:34 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Так про артефакт зафиксировал, наличие бага подтверждаю. Скорее всего передаются неправильные координаты обработчику области под курсором, как результат фон там не переписывается. Буду разбираться.

А вот насчет моргания курсора так и не понял.

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

З.З.Ы. Я проверял ранее с растяжкой картинки, но она была маленькая, меньше экрана. Всех вариантов на свете не предусмотришь.

Автор:  Leency [ Ср мар 14, 2012 1:44 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Размер изображения значения не имеет.

Автор:  Mario [ Ср мар 14, 2012 1:48 am ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Ядрена кочержика! Вот не было же. Точно помню что две-три ревизии назад не было. :?

Автор:  Mario [ Ср мар 14, 2012 12:47 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Leency писал(а):
Словил я этот баг!
Всё просто. Поменяй фоновую картинку :)
Лично я делал так:
1. запустил систему.
2. в эолайте на картинке разрешением больше экрана ctrl+d
После этого закрываешь окно - курсор исчезает, двигаешь - появляется. Сделал размер окна меньше - остался артефакт.

Исправлено в SVN r. 2459

Автор:  Mario [ Чт мар 15, 2012 2:28 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

SVN r. 2463 исправление вывода лишних 2-х точек для схлопнутого окна (rolledup), для истинных дизайнеров и ценителей чувства прекрасного к коим я сам не отношусь.
SVN r. 2464 исправление для фоновой картинки в режиме черепицы. Новый способ считывания пикселя (4 байта за раз в один заход, вместо 3 раз по 1 байту в старом варианте) приводил к вылету в некоторых случаях (например, PIC4). Сделал выделение памяти с запасом (выравнивание на границу 4 Кб). Все равно при выделении памяти она физически выделяется страницами не менее 4 Кб, так что физически расхода памяти лишнего нет.

Автор:  IgorA [ Чт мар 15, 2012 2:56 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Mario писал(а):
Все равно при выделении памяти она физически выделяется страницами не менее 4 Кб, так что физически расхода памяти лишнего нет.

Теоретически может быть ситуация где идет расход лишних 4 кб.
Код:
; it is reserved with aligned to the boundary of 4 KB pages,
; otherwise there may be exceptions a page fault for vesa20_drawbackground_tiled
; because the 32 bit read is used for  high performance: "mov eax,[esi]"
        shr     eax, 12
        inc     eax
        shl     eax, 12

Например если требуемый объем памяти кратен 4-м кб, тогда inc eax делать не нужно. Когда хоябы один из младших 12 битов регистра eax не равен 0, тогда выполняемые действия нужны.
Это так просто придирки, ничего против не имею.

Автор:  Mario [ Чт мар 15, 2012 3:04 pm ]
Заголовок сообщения:  Re: Shadow buffer - моргающий курсор или так жить нельзя...

Они не являются лишними в любом случае - ты прочти комментарий: либо 4Кб выделить (если запросить 1 байт, то все равно 4 Кб будет выделено), либо получить исключение page fault в ядре (считывание залазит за границу выделенной памяти), со всеми вытекающими последствиями.

А так да я совершенно согласен - жутчайший перерасход памяти в целых 50% случаев. :mrgreen:

Страница 6 из 8 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/