The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликована мультимедийная библиотека LDL, оптимизированная для маломощных систем

03.12.2023 17:28

Доступен первый выпуск мультимедийной библиотеки LDL (Little DirectMedia Layer), разработанной с расчётом на возможность работы на устаревшем оборудовании. Библиотека предоставляет простой кроссплатформенный API для работы с 2D-графикой, управления окнами и событиями ОС, пригодный для разработки простых игр и мультимедийных приложений. На практике библиотека уже используется при разработке альтернативного открытого игрового движка для игры Arcanum. Код проекта написан на языке С++ 98 и распространяется под лицензией BSL 1.0 (Boost Software License).

Автор уделяет большое внимание оптимизации библиотеки для устаревших платформ и созданию единого переносимого С++ API, который можно использовать в различных операционных системах (дополнительно предоставляется API для программ на языке Си). В текущем виде поддерживается работа в Linux (Debian 3+) и Windows (Windows 95+).

Доступна поддержка рендеринга на GPU с использованием OpenGL 1.2 и OpenGL 3.0, а также программного рендеринга силами CPU. Метод отрисовки может меняться динамически во время работы приложения. В Linux поддерживается XLib, но в разработке находится и поддержка протокола Wayland. Предоставляются функции для работы со звуком. Поддерживается загрузка различных форматов изображений (bmp, png, tga, jpg).

В будущем планируется добавить поддержку отрисовки при помощи Direct3D 9/10/11, потоковое воспроизведение звука, вывод текста с использованием библиотеки Freetype, API для работы с потоками и сетью. В планах также портирование на платформы Android, iOS и macOS.



  1. Главная ссылка к новости (https://github.com/JordanCpp/L...)
  2. OpenNews: Доступна Louvre 1.0, библиотека для разработки композитных серверов на базе Wayland
  3. OpenNews: Доступна библиотека устранения шума на изображениях Open Image Denoise 2.1
  4. OpenNews: Релиз векторной графической библиотеки Cairo 1.18.0
  5. OpenNews: Выпуск библиотеки Libadwaita 1.4 для создания интерфейсов в стиле GNOME
  6. OpenNews: Facebook открыл код графической библиотеки IGL
Автор новости: Зощук Евгений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60226-ldl
Ключевые слова: ldl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (134) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 18:54, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Код проекта написан на языке С++ 98

    Даже на Arduino есть самая последняя версия языка C++.

     
     
  • 2.12, Денис Попов (?), 19:13, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Айдурино? Не упоминай в одном предложении рядом с С++.
     
     
  • 3.42, Аноним (42), 22:24, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так Wiring это и есть C++ с запрятаннной куда-то main()
     
     
  • 4.50, Денис Попов (?), 22:47, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И спрятанными регистрами от ламера, неспособного ни даташит почитать, ни иерархию классов продумать.
     
     
  • 5.147, Аноним (-), 06:30, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > И спрятанными регистрами от ламера, неспособного ни даташит почитать, ни иерархию классов
    > продумать.

    Вообще-то там есть AVRские регистры, насколько я помню, из стандартных AVRских инклюдов. Только надо смотреть что ардуиновские либы используют, чтобы не конфликтовать по использованию железки. Они как минимум 1 или 2 таймера забирают, возможно uart и что-то еще.

     
  • 2.65, Аноньимъ (ok), 23:53, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С++ 98 - единственный вменяемый стандарт, когда существование сипипи можно с бутылкой водки таки как-то обосновать.

    Потом пошёл ад угар и содомия.

     
     
  • 3.68, Аноним (68), 00:40, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Потом пошёл ад угар и содомия.

    О, знатный критик C++ подъехал. Напишешь, чем конкретно тебе C++11 и новее не угодили, или, как обычно, будем лишь пафосно пускать пыль в глаза абстрактными возгласами?

     
     
  • 4.73, Аноньимъ (ok), 02:52, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Конкретно тем, что они существуют.

    Эту лошадь давно нужно было похоронить, а не устраивать из трупа хоррор шоу.

     
     
  • 5.74, Аноним (74), 03:08, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну кстати согласен. Для стороннних разработчиков это будет ньюанс.
     
  • 5.76, Аноним (68), 05:21, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ад угар и содомия
    > Конкретно тем, что они существуют.
    > Эту лошадь давно нужно было похоронить, а не устраивать из трупа хоррор шоу.

    Ну, то есть как обычно: ничего конкретного сказать ты не можешь (ибо в плюсах не в зуб ногой), и потому льешь потоки дешевого пафоса. Молодец, держишь марку!

     
     
  • 6.97, Аноньимъ (ok), 14:45, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Конкретно можно много чего сказать. Кстати и то что я сказал довольно конкретно.
    Но перед аноним68 мне зачем бисер метать?
    Аноним небось не инвалид, и видосики на тему на ютубе осилить в состоянии?
     
     
  • 7.145, Аноним (-), 05:50, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Конкретно можно много чего сказать. Кстати и то что я сказал довольно
    > конкретно.
    > Но перед аноним68 мне зачем бисер метать?
    > Аноним небось не инвалид, и видосики на тему на ютубе осилить в
    > состоянии?

    Ого, предлагают изучать C++ по ютубу. Сразу видно могучего програмера и его уровень.

     
  • 4.105, YetAnotherOnanym (ok), 21:24, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Напишешь, для чего конкретно тебе нужны такие обоснования?
     
  • 3.87, Ivan7 (ok), 11:19, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А про Ассемблер что можешь сказать?
     
  • 3.91, InuYasha (??), 11:53, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    _Во ((многом (__соглашусь. []_Современнные ::_плюсы <очень> на[brainfuck]))) похожи.
    Пишу на 98 и никого мои либы не смущают. Причём обновления спокойно обратно портируются или даже просто кладутся в старые проекты.
     
  • 2.90, InuYasha (??), 11:51, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты в курсе что тебя никто не заставляет ограничиваться стандартом 98 при использовании этой библиотеки т.к. стандарты Си++ друг друга включают? Не, не слышал? Оральный оратор, блин.
     
     
  • 3.94, Аноним (94), 13:09, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Я просто считаю, что писать код под версии C++ ниже 23 при массовой доступности новых версий - глупо (процессоры с засекреченной архитектурой пролетают, их назработчики сами виноваты, что их архитектура засекречена, и будет справедливо, если эти архитектуры останутся без софта).
     
     
  • 4.113, Аноним (-), 02:14, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если это ты про ардуину вещал, с C 23 там скорее всего - никак Потому что AVR... большой текст свёрнут, показать
     
  • 2.112, Аноним (-), 01:55, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Даже на Arduino есть самая последняя версия языка C++.

    Ой ли? Их GCC встрял на примерно 5.4 - и видимо с более новыми есть технические проблемы. Так что как раз "последние" версии там врядли есть, и скорее всего неполные.

    Не говоря о том что потуги реально юзануть вот именно тех фич - ничем хороши там не закончатся во многих случаях. Да и зачем навороты для огромных проектов в мелком мк? Только предсказуемость уроют, фирмварь раздуют, RAM будут жрать, а у ардуины особенно по части оперативки не память - а склероз.

     
     
  • 3.130, Аноним (130), 15:19, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Транслятор можно и свежий использовать, мигатель лампочками собирается Под акту... большой текст свёрнут, показать
     
     
  • 4.146, Аноним (-), 06:03, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой еще транслятор GCC чтоли То что GCC собрать можно для чего угодно - в ... большой текст свёрнут, показать
     

  • 1.4, Аноним (2), 18:57, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    >В будущем планируется добавить поддержку

    ... и превратить либу ещё в один SDL, только отставший от SDL на много лет.

     
     
  • 2.70, Аноним (68), 00:45, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > только отставший от SDL на много лет.

    ...и которым никто, кроме самого автора, не пользуется.

     
     
  • 3.135, Аноним (-), 16:22, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> только отставший от SDL на много лет.
    > ...и которым никто, кроме самого автора, не пользуется.

    FYI, в LibSDL 2 валв конкретно нагадил на бошку: software render заметно тормознутее 1.x который эти чудаки на другую букву задепрекатили. По этой причине немало 2D гамез так на SDL 1.x и отвисает - им требовать от юзера GPU с продвинутыми дровами с ножом к горлу неудобно, а в SDL 2.x перфоманс вот именно 2D без ускорителя - куда как тормознее стал. И это фэйл.

    Так что сабж в этом смысле - имеет свою нишу. Может быть небольшую - но технически оно живет в том числе и за счет факапа Valve в этом аспекте. Имея некий нишевой но все же пойнт...

     

  • 1.5, дАнон (?), 18:59, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Wayland всё погубит
     
     
  • 2.16, Бывалый смузихлёб (?), 19:30, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    иксы жирнее и тяжелее
     
     
  • 3.22, Аноном (?), 20:03, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А работают лучше - как так?
     
     
  • 4.114, Аноним (-), 02:58, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А работают лучше - как так?

    Что там "лучше" работает? Отрисовка графона тормозная, в топе постоянно отсвечивают, графику клинит. Небось как обычно, пользователь винды или мака рассказывает о прелестях этого чуда?

     
  • 3.26, Аноним (26), 20:22, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но не тормозят, в отличие от.
     

  • 1.6, Аноним324 (ok), 18:59, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Код проекта написан на языке С++ 98

    Ммм, какой актуальный стандарт, прям ухх. C++26, не не слышали.

     
     
  • 2.8, JordanCpp (ok), 19:04, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Смысл использования С++ 98 стандарта, в обеспечении лучшей портабильности библиотеки на устаревшие системы.
     
     
  • 3.9, Аноним324 (ok), 19:07, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Смысл использования С++ 98 стандарта, в обеспечении лучшей портабильности библиотеки на
    > устаревшие системы.

    Нет смысла вообще, потому что современные стандарты тоже будут работать на некро, даже больше скажу под ту же 98 винду можно на расте написать и оно будет работать. Не обязательно тащить протухший стек технологий чтобы оно работало на старье, а если уж это хобби проект, то использование некро это скорее во вред.

     
     
  • 4.10, JordanCpp (ok), 19:09, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проект на С++, а не на Rust.
     
  • 4.11, JordanCpp (ok), 19:10, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Пользователь библиотеки может выбирать любой стандарт хоть С++ 23. Это я как автор библиотеки ограничиваю себя стандартом С++ 98.
     
  • 3.43, Аноним (42), 22:28, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Позвольте полюбопытствовать, а какие компиляторы ещё не поддерживают C++11, хотя бы? Компиляторы, а не старые версии известных компиляторов.
     
     
  • 4.60, JordanCpp (ok), 23:20, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проблема, что известные компиляторы не поддерживают старые платформы. С++ 98 это некая золотая середина, которая позволяет в большинстве случаев собирать библиотеку нативно на старой системе. Без кроскомпиляций и смс.
     
     
  • 5.95, Аноним (94), 13:13, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Компиляторы плаатформы все поддерживают. Проблема с поддержкой платформ - не в компиляторах, а в стандартных библиотеках, разработчики которых (pthreads, кхе кхе) авторитарно решили, что такую-то платформу надо бросить. Заменишь стандартную библиотеку - и будет работать.
     
     
  • 6.107, Аноним (107), 22:06, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > авторитарно решили

    А как надо? Каждый раз референдум проводить?

     
  • 2.106, YetAnotherOnanym (ok), 21:29, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не всем нужно возиться в свежем, от которого пар идёт. Некоторые предпочитают компост, с известняком и торфом.
     

  • 1.7, all_glory_to_the_hypnotoad (ok), 19:01, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Импортозамещение, которое мы заслужили
     
     
  • 2.17, Аноним (17), 19:32, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А что сколько тут народу просит поддержу старых ос и железа. И некоторые кроме троллей на нём реально сидят. А один даже за электричество не платит.
     
     
  • 3.21, all_glory_to_the_hypnotoad (ok), 20:02, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так и расскажи если ведёшь статистику. И просят же в основном оптимизацию 3D, а не ещё один SDL для 3-го пня.
     
  • 3.32, Аноним (74), 21:58, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    НА одноядерный ноут поставил дистрибутив вместо ХР который там был предусмотрен а завода. В дистрибутиве подключается к вай-фай а ХР нет.
     
     
  • 4.37, Аноним (37), 22:11, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Eeepc 701?
     
     
  • 5.53, Аноним (74), 22:53, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, другой.
     
  • 3.33, Аноним (74), 21:58, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То же самое с браузером. На дистрибутиве нормально работает, а на ХР нужны пляски с сертификатами.
     
  • 2.92, InuYasha (??), 11:56, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы заслужили NULL.
     

  • 1.13, Аноним (68), 19:13, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какой смысл в урезанном клоне SDL? В поддержке Windows 98, которую уже давно никто не использует? Ну так для нее есть SDL 1.x ...
     
  • 1.15, Аноним (15), 19:16, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Слабак Мой движок поддерживает все DOS, Win3 x Win32s, WinNT 3 4, Win9x и совр... большой текст свёрнут, показать
     
     
  • 2.18, Бывалый смузихлёб (?), 19:36, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так вроде любая видновая PE-прога - это жеж и на дос и на вынь32
    Только для доса там по умолчанию в самом начале находится мини-прога, выводящая сообщение-заглушку, мол, не катит под досом, давай винду

    Насчёт доса и вынь64 - хз, ибо к тому времени потерял интерес к копанию в виндовых потрохах

     
     
  • 3.19, Аноним (15), 19:43, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну можно было бы конечно поизвращаться с засовыванием 16-ти битного движка в stu... большой текст свёрнут, показать
     
  • 3.20, Аноним (15), 20:01, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну кстати если бы DOS64 существовал бы, моя прога с 99% вероятностью на нем запустилась бы, ибо я в отличие от автора HX любитель абсолютной совместимости, все писал на GCC 13 с применением где надо расширенного встроенного ассемблера, т.е. 64-битный код есть. Может не работать только одно место. Обработка прерываний. Если DPMI32 - это стандарт, созданный еще мелкософтом, то DPMI64 просто не существует. Его придется изобретать. И что там наизобретают - еще не известно. Пока что мой код просто совместим по регистрам с DPMI32. Но если будет использован 64х-битный вызов прерываний (по дефолту даже на 64х битах используется 32х битный стандарт без переключения стека) - то работать не будет. Придется переделывать. Но это не трудно. Все остальное работать должно без изменений.
     
  • 3.69, Александр (??), 00:41, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не совсем. Как правильно сказали, у PE есть MZ Stub, но это по сути отдельная 16 разрядная программа. Одно время, когда PE формат (скорее даже ME формат) появился, некоторые делали версию PE программы и включали в неё MZ версию. Но о единой кодовой базе речи думаю не идёт. Если только замакросить, но в любом случае две отдельные сборки.
    В основном проблема с тем, что у PE есть поле, в котором указывается минимальная версия системы. То есть, по идее, собрать на новом компиле старое реально, но нужно ограничить используемый набор команд и добыть старый C и C++ рантайм.
     
  • 2.31, Аноним (31), 21:56, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Без линукса это никому не интересное легаси. Никто не пишет под венду уже дет 30. Должна быть поддержка линукса и оснсолей в первую очередь.
     
     
  • 3.38, JordanCpp (ok), 22:12, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Linux поддерживается и собирается начиная с Debian 3 и выше.
     
     
  • 4.46, Аноним (31), 22:36, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я к комментатору обращался, а к сабжу претензий нет (если, конечно, не для галочки). Хотя, у старого opengl в целом оверхеда много, не уверен, как оно будет работать (и будет ли вообще) -- драйвера слишком специфические. Vulkan было бы поинтереснее. DirectX вообще не актуально и никак не поспособствует портированию на те же консоли.
     
     
  • 5.71, Александр (??), 00:45, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если говорить о DOS, то даже интересно, GL тогда был или нет? Если вспоминать всякие старые паскали, то там использовался в лучшем случае VBE, да и то не без костылей. Помню в универе этим развлекался. RGB VBE 1024x768 на 16 разрядах так и не осилил: не хватало адресного пространства. Из решений только 32-х разрядное расширирение для DOS.
     
     
  • 6.77, Аноним (77), 06:38, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Адресного пространства в принципе не хватало ни для чего большего, чем mode 13h. Посему использовалось переключение банков видеопамяти. Более того, если карта не поддерживала (или поддерживала не полностью) VBE 2.0 (где был введён линейный фреймбуфер), то и в 32-разрядном режиме приходилось возиться точно так же.
    GL… ну был Glide для ускорителей 3dfx. И даже десятки три игр под DOS вышло https://www.vogons.org/viewtopic.php?t=886
     
  • 6.81, Аноним (15), 09:27, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    OpenGL скорее всего появился в Win9x Но на самом деле до появления поздних верс... большой текст свёрнут, показать
     
     
  • 7.85, Аноним (107), 10:13, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько SVGA-карточек видел, ни одну без VBE 1.2 не видел. Либо он был уже прошит в биосе, либо шёл TSR-довеском. В любом случае, игрописатели карты без оного изначально игнорировали.

    > Ну а потом настала эра 2D, а потом и 3D ускорителей. И там уже пошла проприетарщина и закрытые дрова. Это конечно же было возможно только под виндой, так что DOS помер.

    Всё  это вполне возможно было и под DOS. Можно подумать, VideoBIOS когда-то был открытым.

     
     
  • 8.96, Аноним (15), 13:32, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну может это потому, что к нам в Россию все попадало с запозданием Аккурат тогд... текст свёрнут, показать
     
     
  • 9.102, Аноним (107), 19:44, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Было малодоступно из-а повальной нищеты 8212 да, с опозданием 8212 нет, с ... текст свёрнут, показать
     
  • 3.44, Аноним (15), 22:35, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На линуксе для этого есть Wine. Я бы даже сказал, что это единственный способ играть в нормальные игры на линуксе, а не в поделки студентов. Я не то чтобы не люблю линукс. Я его конечно уважаю. Но мое детство прошло с DOSом, виндой 3.1, а потом 9х. К линуксу я просто не проникся. Я его не "чувствую". По крайней мере пока. Например WinAPI это железобетонная штука. А под линукс даже не понятно как GUI программы то писать. У вас там всякие GTK, QT, X-сы, вяленые и всякая такая чушь. Даже стандарта то по сути нету. Как под это писать?
     
     
  • 4.64, Аноним (31), 23:30, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, если бы ты написал в своей жизни хоть что-нибудь под венду, такие вещи бы не стал говорить. А винапи это в приципе такой огрызок, что толку от него не так много, да и с ним по-моему совместимость вечно ломают (поинтересуйся у чуваков, клепающих костыли для гога).
     
     
  • 5.67, Аноним (15), 00:01, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Конкретно с ним совместимость не ломают. Оно как работало со времен Win3.x, так и работает. Ломается совместимость с C++ Runtime. Это такой хитрый способ от мелкософта, как пересадить людей на новые версии винды с телеметрией и рекламой в меню пуск. Всеж переходят на новую версию VS, надо им это или не надо. Обновление ради обновления. А потом привет "У вас нетю api-win-бла-бла-бла.dll".

    Да и в чем проблема юзать Wine? Он же не эмулятор. Это просто способ запускать в системе исполнимые файлы другого формата. Вот и все.

     
     
  • 6.72, Александр (??), 00:51, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Работает он зачастую через одно место. Wine - это не просто способ запускать исполняемые файлы другого формата. Это по сути Win среда внутри линя с трансляцией WinAPI в местные API. И вот с этим далеко не всё гладко.
     
  • 3.49, Аноним (15), 22:41, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Единственное, что мне нравится в линуксе - что он как бесплатный конструктор, с которым можно играться. Вот игры с дистрибутивами - это все, что нравится людям в линуксе. Ставить, пробовать, смотреть, не скучные ли обои. Собирать, разбирать. Тот же андройд по сути тоже линукс. Собрал его из сурцов, поставил на QEMU, играешься. Классно.
     
  • 2.93, InuYasha (??), 11:59, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Весьма понимабельно и интересно.
    Шейдеры, вроде, даже в ХЛ2 держали по 3 версии на разные случаи, но это не точно.
     
  • 2.131, Аноним (130), 15:38, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Слабак. Мой движок поддерживает все. DOS, Win3.x+Win32s, WinNT 3/4, Win9x и современную
    > 64х-битную винду. Причем без перекомпиляции бинарников.

    NZ и Havens Gate в одном флаконе. Охотно верю... что на Опеннет такие байки идут на ура.

     
  • 2.148, Аноним (-), 06:46, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы пришли на опенсорсный ресурс - чтобы не назвать ни 1 открытой системы в списк... большой текст свёрнут, показать
     

  • 1.25, Аноним (25), 20:17, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эм, всегда казалось, что поддержка "старого железа" - это, в первую очередь, максимально хардкорные "ужимания" по памяти и алгоритмам. А во вторую уже - настройка тулчейна таким образом, чтобы собирать успешно запускаемый бинарник под целевой копролит. Вторая задача хоть и требует приседаний, но на том же YouTube есть видеогайды, как кастомизировать GCC так, чтобы на С++17 можно было собрать исполняемый файл под Commodore64. Так что выбор С++98 для разработки - отсутствие исследования вопроса, что дизлайк. Как минимум потому, что до версии С++11 не было move semantics, а без него количество копирований объектов было чудовищным даже copy elision оптимизациями при возврате объектов из функций.
     
     
  • 2.27, Аноним (15), 20:34, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как бы там много ума не надо. Добавляем -m32 -march=i386. Ток надо сначала еще stdlib перекомпилировать с теми же опциями.
     
  • 2.28, Аноним (15), 20:35, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А дальше надо помнить только одно. "640Кб хватит всем"(C)Билл.
     
     
  • 3.78, trdm (ok), 06:45, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    как раз на таких мощностях летал Буран.
     
     
  • 4.86, Аноним (107), 10:30, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    512 Кб там было. И её очень не хватало, периодически шла подгрузка с ленты.
     

  • 1.29, Ю.Т. (?), 20:35, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всегда интересно в таких случаях - есть ли какие-то испытания по ресурсам, по скорости? В поиске выпадает только сама либа.
     
     
  • 2.30, Аноним (15), 20:40, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я поставил все версии винды на QEMU. 3.х можно на DOSBox поставить. DOSBox-X обещает, что 9х тоже можно поставить. Моя прога везде работает. Точно не уверен, какую производительность они выдают на моем компе. Там же virtio CPU то юзать нельзя. Только голую эмуляцию. По ощущениям тянет примерно на 166MMX.
     
     
  • 3.47, Аноним (31), 22:39, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    dosemu2 с kvm
     
     
  • 4.55, Аноним (15), 22:58, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А винда запустится? Просто я подозреваю, что нет. Сейчас с таким же успехом я могу взять QEMU с virtio, поставить на него FreeDOS, т.к. скорее всего не запустится, а потом попробовать накатить на него винду. Результат скорее всего будет предсказуемый.
     
     
  • 5.66, Аноним (31), 00:00, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там 64 битный дос, так что вполне может быть. Где-то говорили, что венда уже работает.
     
  • 5.149, Аноним (-), 09:48, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А винда запустится? Просто я подозреваю, что нет. Сейчас с таким же
    > успехом я могу взять QEMU с virtio, поставить на него FreeDOS,
    > т.к. скорее всего не запустится, а потом попробовать накатить на него
    > винду. Результат скорее всего будет предсказуемый.

    А что, винды или дос умеют virtio?

     

  • 1.34, Аноним (74), 22:02, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >На практике библиотека уже используется при разработке альтернативного открытого игрового движка для игры Arcanum.

    Арканум любимая игра!
    Чё прям свободный движок? Могу подкинуть его к игровым ресурсам и заведется и на Винде и на этом вашем линуксе?

     
     
  • 2.39, JordanCpp (ok), 22:15, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да собирается и работает в windows и Linux. Рю умеет читать архивы и графику игры. Но движок сырой. Можно просто пока крутить карту. Смотреть почти не на что.
     
     
  • 3.51, Аноним (74), 22:48, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Собери бинарник только движок, а лучше вместе с ресурсами для Вин (большинство интересующихся будут на винде и не захотят ничего компилировать) и выложи на гитхабе чтобы можно было скачать и запустить хотябы технодемо.  
    На сколько понимаю самая большая проблема что ресурсы игры в "бинарном" виде, если я ничего не путаю.
    А ещё большая проблема загрузка карт мира, т.к. они генерируются рандомно, если ничего не путаю.
    Я помню уже кто-то выкладывал движок для Арканума, но там были новые локации, на сколько я понял не смогли разобраться с ресурсами игры.
    Пубвикуй здесь новости почаще. Движок для Героев мне не интересен, а движоу для Арканума очень.
     

  • 1.35, Аноним (74), 22:06, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Install
    >git clone https://github.com/JordanCpp/ArcanumWorld.git run dependencies_download cmake CMakeLists.txt make Copy the game's dat files to the ArcanumWorld directory run ArcanumWorld

    Я нихочу ничего собирать. Я хочу скачать бинарники и играть.

    >Код проекта написан на языке С++ 98 и распространяется под лицензией BSL 1.0 (Boost Software License).

    Что это за лицензия такая?

    >2. Не использовать форматы файлов арканума. Двиг будет работать с переконвертированными файлами (в будущем нужно как минимум встроить поддержку art файлов, так как перекодировать не целесообразно)

    А вот это странное решение. Движок для Арканума, но ресурсы из Аркканума не поддержиает.

    Если что есть другой открытый движок, который поддерживает Арканум.
    https://github.com/cvet/fonline

     
     
  • 2.41, JordanCpp (ok), 22:21, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Движок только начат. Поиграть не получится. Движок ещё используется как полигон, для тестирования фреймворка. Когда пишешь движок используя библиотеку, сразу видно, что где поменять и как улучшить библиотеку.
     

  • 1.36, Аноним (74), 22:09, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ерунда какая-то, по ссылке из поста на ф-ме за 2020
    >Ничего не найдено
    >В ссылке опечатка, либо владелец удалил файлы или закрыл к ним доступ
     
     
  • 2.40, JordanCpp (ok), 22:17, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это старая версия ещё на SDL. Мои первые шаги в освоении движкописательства.
     

  • 1.45, Аноним (42), 22:36, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Languages:
    C 50.8%
    C++ 38.2%

    Я-то подумал, что на pure C++ :(

     
     
  • 2.48, JordanCpp (ok), 22:41, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я использую сишные либы в проекте.
     

  • 1.52, Аноним (74), 22:50, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    К движку Arcanum Reborn имеет отношение?
    https://www.arcreborn.ru/
     
     
  • 2.54, JordanCpp (ok), 22:56, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет.
     
     
  • 3.56, Аноним (74), 23:09, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Библиотека и движок, написаны с нуля?
    Ни про  Arcanum Reborn ни про FOnline Engine не слышал?
     
     
  • 4.58, JordanCpp (ok), 23:16, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да всё написано с нуля, в проекте используются дополнительные библиотеки, stb, freetype, dr_libs.

    Я знаю об этих проектах. Мне интересно создать не движок, а именно библиотеку при помощи которой можно уже написать движок.

     

  • 1.57, Аноним (74), 23:11, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И кстати да, если уж Арканум, то как насчёт Фаллаут, Бардурсгейт и других изометрических РПГ?
     
     
  • 2.59, JordanCpp (ok), 23:16, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне мешает ограничение 24-ех часов в сутках:)
     
  • 2.62, Аноним (62), 23:26, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Уже есть прожекты, где такое делают.
     
     
  • 3.63, Аноним (74), 23:28, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Подробнее пожалуйста.
     
     
  • 4.99, Tita_M (ok), 17:51, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотрите здесь https://osgameclones.com/
    Это сайт-база проектов по свободным движкам для ранее вышедших проприетарных игр плюс просто свободные игры - законченные или в разработке.
     
     
  • 5.109, Аноним (109), 00:12, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Этот сайт знаю, сам неоднократно писал про него в комментариях.
    Но про Арканум там ни слова, хотя мы уже выяснили, что существует несколько движков для него.

    ArcanumWorld    https://github.com/JordanCpp/ArcanumWorld
    Arcanum reborn  https://www.arcreborn.ru/
    Arkanum         https://github.com/vleon1/Arkanum
    arcanum-project https://github.com/arcanum-project
    Ну и наконец FOnline Engine с заявленной поддержкой и Арканум и Фоллаут. https://github.com/cvet/fonline

     
  • 4.103, asdvb2 (?), 20:11, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/alexbatalov/fallout2-ce
     
  • 4.104, Аноним (107), 21:02, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://gemrb.org/ (BG1/BG2/IWD/PS:T)
     

  • 1.61, Аноним (62), 23:24, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нам нужно больше таких новостей.
     
  • 1.75, Alladin (?), 04:19, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как-то странно, OpenGL 1.1 есть, а где 2.1, а Es версии? иначе это просто библиотека древнего рендера..
     
     
  • 2.79, JordanCpp (ok), 07:26, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В процессе, я работаю над библиотекой один, всё будет но нужно время.
     
     
  • 3.83, Аноним (74), 09:32, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы на твоём месте начал всё же с последней версии ДИкертс ихкс и Опен Джиэль.
    Сделать оперсорсный движок с нормальной не GPL-ой, поддерживающий современный рендер и старые РПГ. Сейчас как раз бум ремастеров всевозможных. Не благодари.
     
  • 3.100, Tita_M (ok), 19:21, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Привет, Евгений Пожелаю вам успехов в ваших начинаниях и хочу предостеречь вас ... большой текст свёрнут, показать
     
     
  • 4.101, Аноним (107), 19:28, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот ради таких редких перлов до сих пор сюда и хожу.
     
  • 4.108, Аноним (109), 23:55, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но я не Евгений. ЭТо какая-то очередная паста?
     
  • 4.132, Аноним (130), 16:06, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Выгорание - это когда через два года проект не взлетел, и от монитора не зависит.

    Мониторы сейчас почти все Flicker-free.

     

  • 1.80, 11111001010 (?), 09:06, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >  С++ 98

    Капец, просто нет слов...

     
     
  • 2.122, Аноним (122), 12:53, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это хорошо, помолчи. На С++ 98 написана прорва полезного софта. Главное не на чем, а как.
     
     
  • 3.127, JordanCpp (ok), 09:45, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С++ 98 это не так уж и мало. И это лишь ограничение для разработки самой библиотеки. Использовать библиотеку можно с любым новым стандартом.
     

  • 1.88, Ivan7 (ok), 11:46, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не ясен смысл поддержки старья. Только куча гемора и бесполезной траты времени - вместо того, чтобы пилить функционал, приходится заниматься всякой дичью с поддержкой мусорного железа. На Алике можно купить вполне современное железо за копейки, на котором будет летать и современная Винда, и Линь. Кроме того, даже миниатюрные АРМы, которые умещаются на ладони и стоят ещё дешевле, уже вполне мощные. Смысла поддержки древних компиляторов тоже нет. GCC и Clang уже давно умеют C++17, 20, 23. По графике поддерживать что-то старее OpenGL 3 смысла вообще нет никакого, да и то из-за встроенной в старые процессоры графики. Если ориентироваться на дискретные ускорители, то я бы вообще использовал OpenGL 4.3+, т.к. там много всего полезного, что сильно упрощает жизнь и радикально меняет разработку графики. Тем более когда из разработчиков ты один сам с собой тратить время на откровенное старьё считаю преступлением. А когда ты допишешь свой проект уже даже OpenGL 3 будет не актуален. Много лишних усилий впустую.
     
     
  • 2.120, Аноним (122), 12:52, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все новые технологии и железо что ты перечислил через пару лет тоже станут устаревшими.
     
     
  • 3.123, Ivan7 (ok), 22:35, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Правда? Не говори глупостей
     

  • 1.89, InuYasha (??), 11:49, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот. ВОТ! Вот так должен выглядеть софт на мобильники, а не эта грёбаная жаба, кладущая двумя окошками в ООМ аппараты с 2ГБ ОЗУ! Уважение.
     
  • 1.110, Аноним (109), 00:14, 05/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня такой вопрос: можно ли с помощью этой бибилиотеки облегчить вопсроизведение видео с ютуба на моём старом одноядерном ноутбуке?
     
     
  • 2.111, Аноним (111), 01:09, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    99% ресурсов съедает видеодекодер. Ответ — НЕТ.
    Сколько уже можно искать серебряную пулю для бабушкиных рыдванов?
     
     
  • 3.116, Аноним (-), 03:23, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > 99% ресурсов съедает видеодекодер. Ответ — НЕТ.
    > Сколько уже можно искать серебряную пулю для бабушкиных рыдванов?

    С иксами - добрую треть проца рыдвана может жрать тупо "BitBlt" силами иксов. Если удастся выкинуть иксы из hot path - все станет гораздо лучше. Сюрприз.

    На мощных многоядерниках это менее заметно - но иногда даже там все может упереться в тот факт что иксовый процесс жрет 1 x CPU core в полку - и все уперлось в вот ЭТО. Так что если кто удивляется почему у иксов местами не очень хорошая репутация...

     
     
  • 4.117, Аноним (111), 04:36, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если с иксами — это линукс, а если линукс — ну давайте угадаем, есть там аппаратное ускорение ютуба? на старом ноутбуке со одноядерным процессором? Даже если оно вообще на нём есть.
     
  • 2.115, Аноним (-), 03:20, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На таких рыдванах, если у тебя линух, как ни странно, есть пара способов разгона... большой текст свёрнут, показать
     
     
  • 3.118, Аноним (118), 10:33, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я пробовал ставить Вин ХР даже х32 Семерку, они шустро работали, но вот к вай-афй не коннектились, хоть и видели сеть.
     
     
  • 4.121, Аноним (107), 12:52, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуйте заменить WiFi-модуль. Или найти свежие дрова на существующий, на старых железках это реально важно — недавно как раз такой аппарат в руки попадал, на тех драйверах, что ставить винда, дисконнект через десять секунд.
     
     
  • 5.124, Аноним (124), 22:37, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Оба пункта приходили в голову. Первый кажется не стоит игра свеч.
    Драйверы конечно можно поискать, но не уверен в затее. Может самому попробовать написать.
     
     
  • 6.125, Аноним (107), 23:49, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Первый кажется не стоит игра свеч.

    В любом сервисе по ремонту ноутбуков рублей за 100-200 отдадут, если повезёт — ещё и 2-в-1 с блютусом. На авито полно. На алиэкспресс.
    USB-свисток воткнуть, в конце концов.

    > Драйверы конечно можно поискать, но не уверен в затее.

    Не можно, а нужно. Проблема-то очевидно софтовая. Ладно бы ещё XP, но уж у семёрки-то никаких проблем с вайфаем не должно быть.

     
  • 4.143, Аноним (-), 05:48, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для семеры зачастую просто нет дров для немолодых видеокарт А перфоманс станда... большой текст свёрнут, показать
     

  • 1.119, Анонимас (?), 11:00, 05/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >альтернативного открытого игрового движка для игры Arcanum

    Ура, ура, ура!

     
  • 1.126, JordanCpp (ok), 09:30, 06/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Цель проекта написать портабельную и быструю библиотеку. С поддержкой в том числе и старых ОС и старого железа. Для этого пришлось пойти на некие требования к примеру только С++ 98.

    Рендер dx 10, 11, 12 и Vulkan будет, но позже. Нужно время на разработку всего этого пиршества.

     
     
  • 2.128, Аноним (128), 14:33, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >С поддержкой в том числе и старых ОС и старого железа

    Чтобы что? Рынок есть?

     
     
  • 3.129, JordanCpp (ok), 15:05, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Чтобы что? Рынок есть?

    Что бы была такая возможность.

     
     
  • 4.134, Аноним (130), 16:20, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто распыление времени. На инициализацию Vulkan потребуется 1000 строк.
     
     
  • 5.137, JordanCpp (ok), 16:31, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Это просто распыление времени. На инициализацию Vulkan потребуется 1000 строк.

    Нет распылению времени. Пример.

    Рендер OpenGL 1.2 1000 строк.
    Рендер OpenGl 3.0 около 2000 строк.

    Зато эти 3000 строк кода поддерживают уйму видеокарт. Для поддержки Windows 95 пришлось написать аж 5 строчек кода, в основном мне ничего делать не нужно макрософт и так сделала отличную совместимость по API.

    Добавлю Vulkan пусть будет 5000 строк, допустим. И будет поддержка нового API. Это не какая то сверх задача, это реально.

     
     
  • 6.139, n00by (ok), 17:41, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Туда 5000, сюда 5000, потом к циклу выборки сообщений прикрутить событийно-ориентированный Wayland... в итоге конца краю не видно. Видимо, я не улавливаю цель проекта. "Что бы была возможность" - это всего лишь средство для достижения некоей цели, при этом не являющееся необходимым. Создать движок для Arcanum и попутно организовать часть кода в библиотеку - это вполне годная цель и такая схема обычно работает.

    Хотя в контексте "оптимизации ... для устаревших платформ" не улавливаю, зачем там OGL. Вроде бы это 2.5D, что по сути 2D? Дело в том, что во времена DX7 я как-то озадачился и сравнил скорость аппаратного билиттера битмапов (наложение с альфа-каналом) с программной реализацией. MMX оказался быстрее, если всё делать в ОЗУ и результат отправлять на видеокарту. К сожалению уже не вспомню, на каких аппаратных конфигурациях тестировали. Через пару лет пропускную способность шины и объём видеопамяти увеличили и это потеряло актуальность. Я это к тому, что универсальность временами сказывается на производительности.

     
     
  • 7.140, JordanCpp (ok), 17:52, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Цель сделать аналог SDL, но на С++ и с поддержкой старых ОС и железа. Почему нет? Это главная фича проекта.

    В библиотеке есть и софт рендер, но его нужно ещё оптимизировать и вводить поддержку палитры.

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

     

  • 1.133, Аноним (130), 16:17, 06/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Смотрел через интерфейс Github, потому мог что-то упустить.

    Вот этот код работать в Windows, как от него ожидается, не будет:



    void FpsLimiter::Throttle() const
    {
    if (1000 / _Fps > Ticks() - _Ticks)
    {
    Delay(1000 / _Fps - (Ticks() - _Ticks));
    }
    }



    поскольку реализован так:



    void LDL::Time::Delay(size_t count)
    {
    Sleep((DWORD)count);
    }



    а квант планировщика 15 мс (по крайней мере на XP так было).

    Что бы Sleep ждал не 15 мс при аргументе 1, следует перенастроить шедюлер вызовом timeBeginPeriod(1);
    Это вроде бы давно документировали.

     
     
  • 2.136, JordanCpp (ok), 16:25, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Что бы Sleep ждал не 15 мс при аргументе 1, следует перенастроить шедюлер вызовом timeBeginPeriod(1);

    Спасибо, добавил в конструктор окна. Работает. Напишите свой ник, что бы я мог указать вас в комите.

     
     
  • 3.138, n00by (ok), 17:15, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не понял, зачем ник. Решение придумал не я, оно как было общеизвестно ещё 20 лет назад. Другое дело, что если в MSDN про то не написано - не в каждый проект его можно воткнуть. В то время для обоснования пришлось копать вызов вплоть до модификаци переменной планировщика и изучать ISR таймера. Сейчас про это прямо пишут в документации "To increase the accuracy of the sleep interval, call the timeGetDevCaps function to determine the supported minimum timer resolution and the timeBeginPeriod function to set the timer resolution to its minimum.". https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-sleep
     
     
  • 4.141, JordanCpp (ok), 17:55, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хотел указать вас как автора комита. Так как вы предложили изменение в коде. Я его просто вставил в код. Это просто вежливость.
     
     
  • 5.142, n00by (ok), 05:11, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тут палка о двух концах. Когда что-то задокументировано, но автор узнаёт об этом откуда-то с форума, у читателя аннотаций к коммитам могут возникнуть нескромные вопросы, но он их из вежливости не задаст. Потому можно считать, что в исходном сообщении я предложил почитать свежую версию документации. Форму выдал такую, что бы избежать игнора по причине "я ж её читал 10 лет назад, а MS гарантирует неизменность Win32 API".
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру