1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Конец SoftICE и Syser (технологии отображения на экран)

Тема в разделе "WASM.NT.KERNEL", создана пользователем PROFi, 30 июн 2007.

  1. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    PROFi
    не понял, какого окна? Разрешение по горизонтали*bytes_per_pixel ?

    есть одна мысль, жаль geforce 8xxx нету, не могу проверить... попробуй выводить _вертикальную_ линию из пикселов (желательно на контрастном фоне, чтобы их было хоть заметно), но вместо ширины экрана пробывать разные значения, бОльшие разрешения по горизонтали -- по идее вплоть до максимально поддерживаемого разрешения самой карты (afaik 2560), но может наверное и больше, подбирая такое значение, чтобы пикселы сошлись в вертикальную линию, заданной длины. Там по идее будет видно, в какую сторону ветер дует. Можно в дебаге увеличение-уменьшение этого числа на кнопки повесить, со стиранием-отрисовкой и выводом текущего значения, через определенный шаг.
    Если такое число удастся подобрать, значит там между lock'ами гадость под названием rectangular framebuffer. Это бы объясняло, почему на экран выводится только часть изображения -- остальное (притом бОльшая часть, т.к. такой фреймбуфер обычно гораздо шире разрешения экрана) попадало за видимую часть экрана, и возможно используемую для других целей область видеопамяти. Тогда по логике бы это проявлялось еще как уменьшение размера (т.е. суммарной площади) попадаемых на экран ошметков с уменьшением разрешения экрана -- с уменьшением размера по горизонтали, всё больше бы пикселов попадало мимо экранной области.
    хз какую еще другую 'нелинейность' тут можно придумать. Уж точно вряд ли там что-то типа bank switching'а сделали, размер видеопамяти сейчас и так все больше и больше, не должно быть в этом нужды.
    Может вообще окажется что-нить банальное, например, что новые карты вообще не предполагают работу с фреймбуфером со стороны проца без Lock'а.
    Значит, по крайней мере для VESA за LFB можно не бояться...
     
  2. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    PROFi
    <С приходом DirectX 10, и новыми видеокартами >

    DirectX 10 это мифф=))
     
  3. pushick

    pushick New Member

    Публикаций:
    0
    Регистрация:
    22 мар 2007
    Сообщения:
    95
    k3internal

    С чего это?
     
  4. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    _BC_

    Окна - обычное окно Windows, т.е. теперь приложение аппаратно уже ничего не может вывести за пределы его окна, т.е. Windows может делать недоступными, используя драйвер видюхи, вывод за пределы окна даже для себя

    Так и было сделано до этого, только вот когда видеопамять нелинейна - все бесполезно ... Можно выровнять линию, (я вообще отображаю ПЗУ видеокарты, там нахожу шрифт 8х16, он неизменен для всех карточек по умолчанию, и вывожу на экран), только вот от вывода в квадратиках и прямоугольниках с шагом равным ширине онных никуда не денешься... :dntknw:


    Может вообще окажется что-нить банальное, например, что новые карты вообще не предполагают работу с фреймбуфером со стороны проца без Lock'а.
    - точно сформулированна мысль ...


    .k3internal

    Миф не миф а как тебе это Pentium 4 3 Ггц производительность 12 GFLOP, а ATI Radeon X1800XT 120 GFLOP? Т.о. Direct X 10 уже не подстраивается под видеокарточи, а видеокарты должны подстраиваться под него, т.е. аппаратно выполнять все, или почти все.
     
  5. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    SPA

    Стандартные драйвера используют BIOS видеокарты. Ктати ни о каком DirectDraw со стандартными дарйверами VGA не может быть и речи именно по этому...

    _BC_

    Да еще по поводу видеопамяти, у моей карточки на борту 384 метра, а в PCI конфигурационной области по использованию ресурсов пишется, что данное PCI устройство использует только 256 Мб.
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.407
    Адрес:
    Fryazino
    PROFi
    Ты код покажи.
    Причем здесь окна. Ты в контекст окна выводишь?

    А самому если попробовать опредеить через PCI. Может она разбита на две области и в двух регистрах лежит.
     
  7. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    PROFi


    Не знаю, видео у меня GeForce 7950 GT2, только пока простаивает, не могу купить конрой квадру и посчитать производительность. Эра так называемого директикса закончилась. M$ выпустила новую библиотечку. Пощи в сети.
     
  8. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    PROFi
    это хардварный clipping, и он здесь не при делах. ;) Все связанные с 2D ускорением фичи можно отключить. Важнее узнать структуру фреймбуфера без lock'а. И в ней ли дело.
    Всё таки попробуй подобрать pitch как говорил, с рисованием верт. линии, т.к. если подобрать удастся, то это уже ответит на 2 вопроса -- как именно фреймбуфер "нелинеен" и как с ним работать.
    Еще можно до кучи провести следующий следственный эксперимент: после lock'а нарисовать во фреймбуфере что-ть, затем сделать unlock и прочитать содержимое фреймбуфера, т.е. сделать как бы скриншот. Далее можно присобачить bmp-заголовок и глянуть, что получилось. Это теоретически может показать принципиальную невосприимчивость видеокарты к записываемым во фреймбуфер данным без Lock'а.
     
  9. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Pavia

    Нет Prefetchable вариант только в одном регистре.

    _BC_

    это хардварный clipping, и он здесь не при делах. ;) Все связанные с 2D ускорением фичи можно отключить.

    Я тоже был такого мнения до покупки 8800 :), но грядет Vista, а в ней отключить аппаратное ускорение уже не так просто - сразу потеряешь совместимость и Aero. Поскольку это не понравится большинству (я например люблю Win2000), то тема будет не актуальной.

    Всё таки попробуй подобрать pitch как говорил

    У меня эта фитча уже давно работала несколько лет. Более детально как это обтоит сейчас - если по наростанию заполнять видеопамять (с того адреса который получен Lock, но после сделан Unlock), то рисуется сначала 1 прямоугольник причем не вверхнем левом углу, потом другой и т.д.

    после lock'а нарисовать во фреймбуфере что-ть, затем сделать unlock и прочитать содержимое фреймбуфера

    А вот это уже дельный совет. Попробую. Но вот как определять ширину каждого прямоугольника - для меня это вопрос :dntknw:
     
  10. UyTvGauG

    UyTvGauG New Member

    Публикаций:
    0
    Регистрация:
    17 май 2007
    Сообщения:
    49
    А ты думаешь ring0 отладчики используют ламера которым нравяться красивые рюшечки висты?
    Если нужен отладчик, то рюшечки придется отключить. Если нравяться рюшечки, то руки прочь от ядра, нечего таким там делать.
     
  11. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    UyTvGauG

    Нет только новые 3D технологии, впрочем как и PhisX и т.д. используют
     
  12. TheDeath

    TheDeath New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2003
    Сообщения:
    66
    Адрес:
    Russia,Новосибирск
    ч0рт.я как раз собрался 8800 GTX брать.мля,такое попадалово.а на 7900 GT/GTX softice все еще работает?
     
  13. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    Да, на старых видеокартах всё ок.
    Блин, не понимаю разработчиков железа. Ну сделай ты мануалы по видеокартах та пусти их в мир вольный, как сделали это Интел и Амд. От етого же вам хуже не будет! Думаю тут дело в нашем вселюбимом друге Микрософт со своим ДиректХ10, у них же эти мануалы есть, иначе как бы они сделали свой "Аеро"...
     
  14. TheDeath

    TheDeath New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2003
    Сообщения:
    66
    Адрес:
    Russia,Новосибирск
    m$ так глубоко не лезет :)
     
  15. asmlamo

    asmlamo Active Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.662
    А это старый трюк Мелкософт. Они любят использовать недокументированные функции.
     
  16. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    Интерестно, как Линух с етим будет боротся?
     
  17. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    Как обычно, закрытыми бинарями, что Nvidia скомпилит, тем и будут.. Хм.. не ожидал что 8800 GTX настока отстоищще. :) Вместе с ламозной Вислой. А S-ICE рулит! На правельных виндах и видяхах :)
     
  18. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    rudik
    Просто использует int 10h или драйвер от nvidia
     
  19. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Соображения в тему:
    Может device\video0 попробовать послать IOCTL_VIDEO_MAP_VIDEO_MEMORY
     
  20. TheDeath

    TheDeath New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2003
    Сообщения:
    66
    Адрес:
    Russia,Новосибирск
    А может спросить Unvinder'a,автора RivaTools? Он дрова nvidia очень давно ковыряет.