api, скорость, производительность, компилер ?

Тема в разделе "Библиотеки и интерфейсы", создана пользователем kas1e, 8 янв 2005.

  1. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    jekyll >




    3 метра. Не знаю только, как это всё использавать из режима пользователя =)



    >




    Железки. Посмотри на коробку от своего asusa ;)



    >




    А ты можешь привести пример, когда это не так ?



     
  2. kas1e

    kas1e New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    48
    Адрес:
    moskow
    Кстати возвращаясь опять к уменьшению размера бинарника сделанного ms линкером. Убрав вообще все что можно, сделав свой crt и прочее, можно высосать еще немного байт: в экзешнике сразу после стаба досового, до 'натурального' pe хедера, есть структура в которой линкер мсовский ложит инфо о компилере и тд. Это сразу где слово 'Rich' (конец структуры самой почти уже). Можно прям либо патчить бинарники потом на предмет вырезания этого говна, либо мс компилер пропатчить. И по приколу такая штука: там в структуре этой, есть прочексумленное поле, которое получается если рядом стоящий дворд ^ на 536e6144 (DAN^). А Dan, это походу некий Dan Ruder, Mechanics of Dybanamic Linking, Microsoft, MSDN Library 1993 и там далее что он в разработке PE модулей стоял :) Мораль - можно еще размера уменьшить, а микрософтовцы без мании величия совсем :) Хотя притяно наверно этому Дану сидеть там щас гденибудь и знать что его хламьем вся планета пользуется :)



    ps. разъюзывал не я, в инете нашел мелкую статейку.
     
  3. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    А ссылочку можно? а то иголку такую долго искать. Сама Печать Баала на форуме не раз обсуждалась, а Asterix давно сделал тулзу (лежит в инструментах) для поиска места, которое нужно пропатчить в линкере.
     
  4. jekyll

    jekyll New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2003
    Сообщения:
    92
    Адрес:
    Russia
    S_T_A_S_

    Железки. Посмотри на коробку от своего asusa ;)

    Глянул, смешная такая, мужик какой-то хмурый нарисован. Логотипов куча, что бы это могло означать? Какой-то дядька DirectX 9 и тетка OpenGL 1.5. Кто такие? =)



    А ты можешь привести пример, когда это не так ?

    Нет, но и не могу сказать, что документация всегда соответствует жизни, к сожалению.
     
  5. kas1e

    kas1e New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    48
    Адрес:
    moskow
    stas, доку прикрепил. А как тулза астерикса зовется ?:)



    Кстати сегодня потестил под разными виндами, 32битные dos проги под старые дос экстендеры аля dlink/wdosx/dos4gw, работает все вполне :) Т.е. можно попробовать графику под lfb тотже писать (будет везде работать и быстро все), а музыку уже от винды конкретно брать через всякие bass/fmod/ или dsound/winmm напрямую. Только из-за того, что графон через эмуляцию доса будет, никакой синхронизации не будет, да и не факт что на старых тачках эмулятор этот работать быстрее dx будет в итоге :)



    [​IMG] _1535441880__rich.txt
     
  6. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    jekyll >




    Гы, вот откуда вопросы "кто-сверху" =)

    Там в требованиях (может в книжке - уже не помню) есть DX9 (т.е без него дрова работоть не будут)



    >




    Да, это так, микрософт выкидывает описание старых интерфейсов, поэтому у меня есть описалово из DX6, 7, 8 и 9 SDK =)





    kas1e >




    Зачем? LFB доступен из direct draw. VSync тоже (как там с этим в OGL ?).

    Только если будешь DX8+ (3d) использовать, то нужно будет в текстуре всё рисовать..



    PS: thx за доку,

    тулза здесь в самом низу: http://www.wasm.ru/toollist.php?list=7
     
  7. kas1e

    kas1e New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    48
    Адрес:
    moskow
    stas

    А по скорости если lfb с доса какбы юзать с экстендарами, и если юзать через direct draw, одно и тоже разве будет ? Онож там в ddraw.dll наверно хлама еще какого нибудь понапихано:)



    Вроде как если я не ошибаюсь, ddraw после 7го директа отошел в мир иной, и юзается только для DirectDrawCreate. А дальше уже как хочешь с этим адресом прыгай .. Или ты к тому,что с 8го начиная уже через d3d все, и даже если 2д картинку выводить, то ее резать на текстуры и их уже выводить ?



    И вообще, интересно хотябы даже вот что : если написать чтото под directdraw (именно под него , dx7) и этоже чтото один в один постараться воспроизвести уже под d3d (dx8/dx9) что будет со скоростью ? Будет ли через d3d тормозить больше, или наоборот меньше ?:)
     
  8. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    IMHO ddraw будет быстрее, т.к. никаких ntvdm и прочая..

    Делаешь Lock, получаешь адрес поверхности и рисуй туда что хочешь, как в ДОСе :)

    Только если будешь рисовать программно, то нужно делать буфер в оперативе и потом копировать его блиттером, иначе (напрямую в видеопамять) будет очень медленно.



    >




    Почему? можно свободно использовать любые старые интерфейсы.



    >




    Сдесь у меня только теоретические познания :) Сделать одну текстуру фоном и рисовать в ней. Можно ещё проекционную матрицу соотв. настроить и рисовать DrawPrimitive. Только я не знаю, зачем это нужно - х/з что там будет с разницей в скорости, быстрее imho не должно быть.
     
  9. kas1e

    kas1e New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    48
    Адрес:
    moskow
    stas



    В общем потестил я ddraw поплотнее, что можно сказать.. Сделал скрин 1024x768x32, картинку 640на480на24, и ее по всякому поскролили покрутил повертел на скрине. В целом на cel-750/savage-8mb не тормозит. Но такое, не должно тормозить и на п100 и видяхой на 2 метра :)



    Задача у меня такая: хочу писать мелкие (но часто полноэкранные) Cractro/intro совсем совсем олдсуловые (т.е. тупые эффекты аля синусоидно прыгающего фонта, плазмы там, в общем все такое древнее). И под это все юзать, что директ что опенгл, по простому говоря - стыдно.



    ps. посмотри если интересно: http://www.pouet.net/groups.php?which=286&order=release это hoodlum, они с 90х годов под амигу писали, а сейчас последних штук 5 крактро под винду, приятно так выглядит (но тормоза где ogl программно и слабый проц конечно даже на синусоидном тексте кошмарные :) ). Самое оно конечно вот это: http://perso.wanadoo.fr/franck.charlet/Hlm_Intro2.zip

    (ogl, 40k бинарник). А это и без ogl и без dx, но неплохо (нигде не тормозит), и в окне (к сожелению) http://moisi44.free.fr/TitanDemo/hlm-bd2t.rar через что это так ?
     
  10. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    IMHO сотый пень не способен обработать 1024x768x32.

    Сам посчитай - на такое разрешение нужно более трёх метров памяти ;)

    К слову - athlon на шине 266MHz может в лучшем случае со скоростью 1500 Mb/s запись в память делать, это с использованием movntq минуя кэшь. Теперь подели на 100 кадров в секунду =)

    По поводу "стыдно" - дело хозяйское, но по-нормальному виндос не дас к памяти доступ окромя как через ddraw.



    Посмотрел демы:

    Trainer2.exe - обычный GDI

    Hlm_Intro2 и hoodlum-intro - OGL (DDraw естественно тоже используется :derisive:

    hoodlum.exe - DDraw

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



    Я тоже всякими тупыми эффектами баловался - вот на прошлый НГ делал =) Сорцы есть на сайте (правда это моя первая прога на писюке, поэтому вид и содержимое у них ужасны =) Вот еще старому спектрумисту на ДР делал - но это совсем "поздним утром в жёстком цейтноте" там даже в тексте скролла куча ошибок =) (на GF5600+ и/или под мастдаем может не пойти - вроде исправлял глюк, но проверять у меня не было возможности) Если это всё делать теперь и неспеша, то размер можно заметно сократить.

    [​IMG] _749762075__hbh.exe
     
  11. Pushkoff

    Pushkoff New Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    40
    Адрес:
    Донецк
    DirectX IM скорей всего самый быстрый...

    В статье по OpenGL на RSDN рисунок есть, где DirectX RM и OpenGL опираются на него и DDraw...