Page 3 of 8

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

Posted: Wed Feb 29, 2012 7:16 pm
by Mario
Цитата была не с твоего сайта (к слову адрес которого я уже подзабыл как года два), а с первой попавшейся ссылки в поисковике корпорации зла. Или я не понял что ты написал в первом предложении. В любом случае меня ты тоже однажды процитировал. :wink:

И я не считаю, что человек не ковырявшийся в этом самом куске кода может знать лучше меня, как правильно и лучше сделать.

Вот Сергей там ковырялся, но что то он не дает советов как писать код. Наверное потому что не знает как это делается. :mrgreen:

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

Posted: Wed Feb 29, 2012 8:36 pm
by Leency
Wildwest
Ты неправ. Игра стоит свеч.

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

Posted: Wed Feb 29, 2012 8:45 pm
by Mario
Mario wrote:Вот Сергей там ковырялся, но что то он не дает советов как писать код. Наверное потому что не знает как это делается.
Кстати двусмысленно получилось. Разумеется имелся ввиду Sergey Semyonov (Serge), а не Sergey Kuzmin (Wildwest). :)

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

Posted: Thu Mar 01, 2012 6:59 am
by Mario
Попытка оптимизации.
Spoiler:
kernel.7z (75.85 KiB)
Downloaded 202 times
На Roverbook U800 прирост в MGB от 1 до 30% по разным показателям в сравнение с предыдущим выложенным в этой теме ядром.

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

Posted: Thu Mar 01, 2012 9:42 am
by Wildwest
Марат всегда думал, что все только и стараются уязвить его, а не улучшить Колибри :)
Ну раз такая фигня с кешем, то пусть сам делает детект размера кеша процессора и при мелком кеше использует старую схему, а при большом новую.

А про "законы", ну реально они курам на смех

"Кто умеет делать - делает." Ну и как же тогда обучение новому происходит? Как вообще человечество развилось, ведь в начале же никто нихера не знал и по "закону" не мог ничего сделать. Бред полный.
"Кто не умеет - учит." Да ну, в советское время для поступления в аспирантуру нужен был стаж работы по специальности 2 года минимум, а после поступления еще годы экспериментов. Да и сейчас часть доцентов/профессоров работают на нескольких работах, в том числе на производствах или вообще имеют свои частные предприятия (экономисты тоже не тупят и организуют свои ларьки), опять же в ВУЗах ведутся НИРы, есть всякие конкурсы грантов. В тех же крупных НИИ есть свои диссертационные советы, там люди без отрыва от производства становятся докторами, кандидатами. И примеров, когда люди из НИИ начинают преподавать в ВУЗах, много. Умному человеку вообще пофиг чем заниматься как бы. И препод из вуза знает как делать не хуже забулдыги с предприятия, потому что он то это зачастую придумывает и внедряет.
"Кто не может учить - управляет." Ну вообще писец, а кто же становится ректорами вузов? Самые лучшие профессора, уж они то научить могут.

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

Posted: Thu Mar 01, 2012 9:56 am
by SoUrcerer
<sarcasm>Уж наш ректор кого хочешь научит.</sarcasm>

Как Марат уже говорил, код слишком размазан по системе, чтобы добавлять опции в ядро. При этом исчезновение и мерцание курсора - это неправильно, а быстродействие системы всё равно остается на высоте, даже голая Windows 3.1 и то медленнее работает в эмуляторах.

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

Posted: Thu Mar 01, 2012 6:53 pm
by Mario
Wildwest wrote:Марат всегда думал, что все только и стараются уязвить его, а не улучшить Колибри :)...
Ты рассуждаешь как те люди которые - "да ну пробовал я, тормозит оно, глючит и крешится и вообще оптимизирующие компиляторы" - потом оказывается что пробовали даже не Колибри и лет 6-8 назад, а про оптимизирующие компиляторы говорят те кто вообще ни разу на ассемблере не писал код.

Прими как данность что люди хоть и медленно, но взрослеют. Меня нужно очень сильно достать, чтобы я стал нервным. В последний раз это получилось у Кирилла с его излишним заскоком в религию с проталкиванием этого в проект системы. Хотя весна тоже, да. :lol:
Wildwest wrote: Ну раз такая фигня с кешем, то пусть сам делает детект размера кеша процессора и при мелком кеше использует старую схему, а при большом новую.
Еще раз - ты плохо ориентируешься в коде про который говоришь, а я не собираюсь устраивать себе дополнительный геморрой. Падение производительности в 1,5-2 раза вполне оправдано убиранию глюков с мышью. А она и по сей день может пропасть, когда завершаем активно рисующееся приложение, а еще достаточно часто восстанавливает старый фон когда перемещаешь указатель. Это не считая того, что каждый мудак тыкает в нас пальцем и говорит - у этих придурков даже мышка моргает как бешеный кролик.
Wildwest wrote: А про "законы", ну реально они курам на смех
...
Твои рассуждение в целом верные, но в жизни более чем в половине случаев почему то наблюдается обратная картинка. Директором предприятия становится мудак царских кровей "эффективный" менеджер. В руководство страны пролезают люди разваливающие ее. Наукой руководят всякие Петрики изобретающие торсионные поля, а настоящие ученые остаются не у дел. И самое главное - это не только в России. Достаточно вспомнить Энерон в США. Есть и другие случаи не так раздутые. Так что законы Мэрфи вполне себе работают во многих случаях.

И давай уже прекратим оффтоп в профильной теме, которая предназначена совсем для другого.

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

Posted: Fri Mar 02, 2012 1:35 am
by Leency
Весь последующий оффтоп будет удалён!!!

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

Posted: Fri Mar 02, 2012 8:46 am
by Mario
Я на форуме про жабу уже писал. Так вот походу она меня не просто так душила. Shadow buffer как идея хорош, но кеш процессора (как я уже говорил ранее) не вытягивает такого издевательства. В то время как в транковом ядре под область курсора уже выделен кусок памяти. Остается только перенести часть моих процедур и возможно кое-чего переделать. Глядишь провал производительности нивелируется. ну, и соответственно память лишняя тратиться не будет. Жаль конечно части потерянного времени, но все же оно было потрачено не просто так и сама идея была проверена на практике.

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

Posted: Fri Mar 02, 2012 10:49 pm
by Leency
Эээ... стоп-стоп-стоп... Тоесть ты бросаешь затею и мы снова будем иметь мигающий курсор?

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

Posted: Sat Mar 03, 2012 10:51 am
by Mario
Я разве сказал бросаю? Просто текущий код не будет залит на SVN ввиду больших потерь производительности. Нужно переделывать мой код на 50-70%.

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

Posted: Wed Mar 07, 2012 1:21 am
by Mario
"Так жить нельзя..." издание второе, переработанное и дополненное. :mrgreen:
Spoiler:
Downloaded 206 times
Для сравнения тесты на Roverbook U800.

Стандартное trunk ядро ревизии 2426:
Spoiler:
1.png
1.png (5.54 KiB)
Viewed 4373 times
Ядро с неморгающим курсором (базируется на 2426).
Spoiler:
5.png
5.png (5.53 KiB)
Viewed 4373 times
Все результаты отличаются менее чем в два раза.
Шестеренки показывают 46/36 попугаев соответственно.

В Qemu результаты как минимум не хуже, если считать разницу между ядрами.

З.Ы. Просьба потестировать и выложить сравнительные данные запусков транковского и этого ядра.

З.З.Ы. Подгружаемые курсоры поддерживаются, но если во время завершения приложения курсор не дефолтный, то система виснет. Т.е. достаточно курсор вывести за окно приложения и нажать ALT+F4, для нормального завершения. Баг порожден не мной, он был в системе, но ранее не сказывался. Потому что курсор выключался, а при включении активировался дефолтный. Буду исправлять немного позже.

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

Posted: Wed Mar 07, 2012 1:57 am
by art_zh
Извини, у меня все попугаи - на букву "А"

Fusion E-350 / 1.6GHz

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

Posted: Wed Mar 07, 2012 5:57 am
by Mario
Некорректно сравнивать универсальный код и код заточенный под определенную платформу. Ты же там некоторые вещи совсем выбросил, а я так не могу сделать. Чтобы уж быть совсем честным стоило выложить еще сравнительную таблицу trunk против A.

З.Ы. Впрочем вся разница между показателями весьма предсказуема - те же менее двух раз, за исключением горизонтальных линий. Зато у меня крсор не моргает. :lol:

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

Posted: Wed Mar 07, 2012 9:02 am
by SoUrcerer
Дает просадку примерно в два раза, зато курсор не мигает. Работает ощутимо быстрее, чем прошлая версия ядра. И еще забавный факт - работает с той же скоростью, что и обычное ядро без обоев (вообще без обоев).