Баг со счётчиком скрытий курсора

Kernel-side graphics support
  • Печальное, но правильное. В нормальных системах приложения не убиваются по середине системного вызова. Но при этом возникают проблемы, если системный вызов зависает.
  • Так я же уже писал об этом в теме про Колибри 0.5.8.1 - только там речь шла про закрытие активного графического приложения по Alt+F4. Вроде бы Марат даже что-то там разумное ответил.
  • Да, что-то я стормозил.
    Mario79 wrote:Сложный вопрос. Дело в том, что уже давно для уменьшения глюков курсора я ввел переменную [mouse_pause] и при убивании потока возможна ситуация, когда inc [mouse_pause] уже был, а dec [mouse_pause] еще нет. В результате переменная не вернулась к прежнему значению и курсор не выводится.
    Можно конечно при убивании потока насильно обнулять переменную, но в результате она может заиметь отрицательное значение, что тоже не очень хорошо.
    Пока я не знаю, как решить эту проблему.
    Конечно, полное переписывание алгоритма вывода (без отключения курсора) может помочь, но это еще надо реализовать, поскольку код получится гораздо сложней существующего, и будет затрагивать весь код относящийся к видеовыводу.
    Но никаких действий по этому вопросу пока что не было предпринято, так?
    Кстати, переменная так и не помогает. Буквально вчера сидел в КоОСе и опять-таки видел эти глюки с неправильной отрисовкой фона под курсором, при активации окон. Или просто кто-то где-то забыл её лишний раз увеличить/уменьшить?
  • Я видел такой глюк в xonix. После того как основное окно закрылось остался прямоугольник от курсора
  • хМРЕПЕЯМН,Ю ЙЮЙ ЩРЮ ОПНАКЕЛЮ ПЕЬЮЕРЯЪ Б ДПСЦХУ ЯХЯРЕЛЮУ.
  • Научите пожалуйста понимать такие сообщения :)
    Экспериметы с Бред-ом никаких результатов не дают :?
  • "Интересно,а как эта проблема решается в других системах." =) плохо бредом пытался
  • Я это сообщение писал из firefox-а.Когда писал сообщение - всё было по русски,а когда отправил - абракадабры.В чём причина - мне непонятно.
    Это раньше в RedHat были проблемы с русской кодировкой,а в SuSE 10.1 с ней всё впорядке.Почему firefox отправил в неправильной кодировке - непонятно.
  • andrew_programmer
    Я тоже пишу из Firefox'а и всё в норме. Решение твоей проблемы:
    Edit -> Preefrences -> Content -> Advanced -> Character Encoding -> Cyrillic (Windows-1251)

    Насчёт решения на других системах - аппаратные курсоры, устанавливаемые через функции видеокарт или БИОСа. Для функций видеокарт нужны драйвера (обсуждение не тут), а функции БИОСа, насколько я помню, устанавливают курсор максимум 16х16, и невысокой битности, без альфа-канала. Иначе курсор *будет* моргать, и его *нужно* будет скрывать при рисовании, если конечно не рисовать только по обратному ходу луча что, естественно, сильно замедлит отрисовку.
    Была ещё одна идея, для которой курсор прятать не нужно. Заключается в том, что при рисовании производится проверка, находятся ли некоторые рисуемые пикселы в области прямоугольника курсора, и если да, эти пискелы рисуются в бэк-буфер курсора, а не на экран. в этом случае, скрывать курсор не придётся, только показывать, после отрисовки примитива.
  • Только проверка принадлежности пиксела курсору занимает много времени... Можно правда хранить не прямоугольник, а целую горизонтальную полосу. Тогда проверки будут нужны только по одной координате, но прорисовка курсора замедлится - нужно будет считывать эту полосу из видеопамяти при каждой прорисовке. Также можно хранить копию всего изображения экрана - тогда можно всегда узнать пикселы какого цвета нужно рисовать для стирания курсора.
  • mike.dld

    Помогло.Только в современной версии Mozilla Firefox опции выглядят совершенно по другому.
  • Who is online

    Users browsing this forum: No registered users and 4 guests