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

Kernel-side graphics support
  • Wildwest
    Ты неправ. Игра стоит свеч.
    Из хаоса в космос
  • Mario wrote:Вот Сергей там ковырялся, но что то он не дает советов как писать код. Наверное потому что не знает как это делается.
    Кстати двусмысленно получилось. Разумеется имелся ввиду Sergey Semyonov (Serge), а не Sergey Kuzmin (Wildwest). :)
  • Попытка оптимизации.
    Spoiler:
    kernel.7z (75.85 KiB)
    Downloaded 199 times
    На Roverbook U800 прирост в MGB от 1 до 30% по разным показателям в сравнение с предыдущим выложенным в этой теме ядром.
  • Марат всегда думал, что все только и стараются уязвить его, а не улучшить Колибри :)
    Ну раз такая фигня с кешем, то пусть сам делает детект размера кеша процессора и при мелком кеше использует старую схему, а при большом новую.

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

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

    Как Марат уже говорил, код слишком размазан по системе, чтобы добавлять опции в ядро. При этом исчезновение и мерцание курсора - это неправильно, а быстродействие системы всё равно остается на высоте, даже голая Windows 3.1 и то медленнее работает в эмуляторах.
  • Wildwest wrote:Марат всегда думал, что все только и стараются уязвить его, а не улучшить Колибри :)...
    Ты рассуждаешь как те люди которые - "да ну пробовал я, тормозит оно, глючит и крешится и вообще оптимизирующие компиляторы" - потом оказывается что пробовали даже не Колибри и лет 6-8 назад, а про оптимизирующие компиляторы говорят те кто вообще ни разу на ассемблере не писал код.

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

    И давай уже прекратим оффтоп в профильной теме, которая предназначена совсем для другого.
  • Весь последующий оффтоп будет удалён!!!
    Из хаоса в космос
  • Я на форуме про жабу уже писал. Так вот походу она меня не просто так душила. Shadow buffer как идея хорош, но кеш процессора (как я уже говорил ранее) не вытягивает такого издевательства. В то время как в транковом ядре под область курсора уже выделен кусок памяти. Остается только перенести часть моих процедур и возможно кое-чего переделать. Глядишь провал производительности нивелируется. ну, и соответственно память лишняя тратиться не будет. Жаль конечно части потерянного времени, но все же оно было потрачено не просто так и сама идея была проверена на практике.
  • Эээ... стоп-стоп-стоп... Тоесть ты бросаешь затею и мы снова будем иметь мигающий курсор?
    Из хаоса в космос
  • Я разве сказал бросаю? Просто текущий код не будет залит на SVN ввиду больших потерь производительности. Нужно переделывать мой код на 50-70%.
  • "Так жить нельзя..." издание второе, переработанное и дополненное. :mrgreen:
    Spoiler:
    Downloaded 203 times
    Для сравнения тесты на Roverbook U800.

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

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

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

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

    Fusion E-350 / 1.6GHz
    Attachments
    test.png
    test.png (39.83 KiB)
    Viewed 4327 times
  • Некорректно сравнивать универсальный код и код заточенный под определенную платформу. Ты же там некоторые вещи совсем выбросил, а я так не могу сделать. Чтобы уж быть совсем честным стоило выложить еще сравнительную таблицу trunk против A.

    З.Ы. Впрочем вся разница между показателями весьма предсказуема - те же менее двух раз, за исключением горизонтальных линий. Зато у меня крсор не моргает. :lol:
  • Дает просадку примерно в два раза, зато курсор не мигает. Работает ощутимо быстрее, чем прошлая версия ядра. И еще забавный факт - работает с той же скоростью, что и обычное ядро без обоев (вообще без обоев).
  • Who is online

    Users browsing this forum: No registered users and 6 guests