Page 2 of 8

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 3:25 am
by Serge
Mario
Я всё тестировал несколько раз и в разный режимах. Картинка - это обычное тестирование, аналогичное твоему. Перекрытие окна позволяет оценить влияние скорости записи в видеопамять и очень познавательно. Толстый кеш нивелирует влияние shadowfb полностью. Если там и есть упор, то не в лишнюю запись в shadowfb, а в промахи ветвления. А если есть запись в видеопамять то всё упирается в неё. У меня это главный тормоз.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 3:28 am
by Mario
Dell Inspiron N7010 (Intel i5) видео от Intel

Стандартное ядро:
Spoiler:
1.png
1.png (4.9 KiB)
Viewed 3794 times
Ядро с не моргающим указателем мыши:
Spoiler:
2.png
2.png (4.85 KiB)
Viewed 3794 times
Шестеренки выдают 895 и 538 попугаев соответственно.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 3:35 am
by Serge
Mario
Сделай тесты с перекрытием окна, интересно сравнить запись в видеопамять.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 3:42 am
by Mario
С перекрытием сделал для Roverbook U800
Spoiler:
3.png
3.png (4.88 KiB)
Viewed 3790 times
Относительно стандартного окна прирост ни нас только большой, что впрочем объяснимо - обе памяти LFB и SHDB суть есть одна и та же память.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 3:49 am
by Mario
Вот для Dell Inspiron N7010 (Intel i5) видео от Intel - есть некоторый прирост с перекрытием:
Spoiler:
3.png
3.png (4.47 KiB)
Viewed 3790 times
З.Ы. Можно обратить внимание на дичайший прирост в рисовании вертикальных и свободных линий. Где то в какой то теме форума вы с Артемом уже натолкнулись на проседание видеопамяти при рисовании линий.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 4:02 am
by Serge
Всё же накосячил. Небольшая просадка есть, но небольшая. А с перекрытием окна новое ядро быстрее. Инфа 146% :D .
Spoiler:Слева новое ядро. Во всех тестах Single Pixel быстрее.
MGB2.png
MGB2.png (6.27 KiB)
Viewed 3789 times

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 4:06 am
by Mario
Ты это... смотри там - торсионные поля не открой заново, с этими 146%. Нам еще нового путена всея РФии выбирать.

Я одного не пойму почему с перекрытием быстрее? Оно ведь и там и там к LFB и SBF не обращается - отсечка идет до. Как оно быстрее то становится? Единственно я куда не попадя понавтыкал Align 4 может это оно сказывается?

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 4:14 am
by Serge
Mario
Не, на этот раз всё точно. Кстати, интересно проверить варианты- запись сначала в shadow а потом в видеопамять и наоборот. И ветвления посмотреть. На них можно сэкономить такты.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 4:16 am
by Mario
Хрен там, а не точно! Я сейчас проверил обычное ядро с перекрытием - результаты почти 1 в 1 на Dell. Ну, есть погрешность порядка пары процентов конечно. Ты не учел что при перекрытии в любом случае никуда ничего не записывается.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 4:27 am
by Serge
Mario
Не пишется, но у меня прирост несколько процентов по всем позициям кроме текста. Точно не погрешность. Если ты выравнивал циклы и ещё что-то менял, то объяснимо. Больше всего на PIcture. Если эти 16% процентов только за счет выравнивания циклов то скажу одно: "Вот вы три байта сэкономили, а Elpida разорилась !".
Spoiler:Тесты с перекрытием. Слева новое ядро.
MGB3.png
MGB3.png (6.5 KiB)
Viewed 3785 times

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 5:06 am
by Mario
Я каждую метку перехода в Vesa20.inc выравнивал, а еще в коде отрисовки курсора. А то что прирост от выравнивания есть - это я давно уже тут же ан форуме прочитал. Помнится первым про это Иван Поддубный сказал. Можно в ядре много чего выравнять, не знаю только какой процент распухания коду это придаст.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 5:48 am
by Serge
Если цикл без ветвлений, очень хорошо на 16 байт. Даже минимальное выравнивание на 4 байта дает прирост.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 1:40 pm
by Wildwest
Если это более правильный подход, то почему часть показателей хуже?
Лучше какой-то гибрид сделать - оставить те старые процедуры, которые быстрее новых и заменить те старые, которые медленные новых, на новые.

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 5:58 pm
by Mario
Не в обиду, но в правду:
Закон Х.Л. Менкена.
Кто умеет делать - делает. Кто не умеет - учит.

Дополнение Мартина.
Кто не может учить - управляет.
Читать пост, где я выложил ядро - почему часть показателе хуже! Потому что штраф для кэша процессора! Большой кэш - меньше штраф!

Re: Shadow buffer - моргающий курсор или так жить нельзя...

Posted: Wed Feb 29, 2012 7:07 pm
by Wildwest
свежий взгляд со стороны полезнее 3-х задрипанных цитат (с) Wildwest xD!

из того же сборника СЛЕДСТВИЕ ВЕЙНБЕРГА:
Квалифицированный специалист по ремонту лодок - это человек, который удачно избегает маленьких ошибок, неуклонно двигаясь к какому-нибудь глобальному заблуждению.

Без обид, так без обид.