Как пример скриптования с низкими задержками. Это игра Fallout 1 и Fallout 2. Скрипты пишутся на смеси С и Pascal. Язык называется SSL - Star trek script language. Скрипт переводится в свой байткод, игра его интерпретирует. Ну и оригинальные игры спокойно работают на железе pentium 75 mhz, без risc-v и смс:)
Т.е. создаем виртуальную машину с архитектурой весьма вероятно отличающейся от хостовой, запускаем в ней слой эмуляции linux и уже в нем запускаем свои скрипты и говорим что нас интересуют минимальные задержки?
Мне не нравится вариант с unique_ptr тем, что будет по крайней мере один new. Банальный пример, а уже лезем в память. Возможно, что как то все оптимизируется. Я не вникал, как оно там устроено. Если, что поправьте.
Примерно так, так как HANDLE используется чуть менее чем во всем WinAPI облегчит жизнь. Это общая идея. Таким образом типизировать другие типы. Добавить inline, но со сборкой O2 думаю и так компилятор догадается.
template <typename T>
class Handler
{
public:
Handler(T handle) :
_handle(handle)
{
}
~Handler()
{
if (_handle != nullptr) CloseHandle(_handle);
}
T Get()
{
return _handle;
}
bool Ok()
{
return _handle != nullptr;
}
private:
T _handle;
};
Современные фичи С++ это хорошо, правильно. Но если уж исходить из юзабилити, вполне понятный вариант второй. Проверил, прочитал, закрыл. Никто же не мешает отделить LoadLibraryA и FreeLibrary в класс и дергать его в данном методе при выходе из функции сработает деструктор. Написать шаблон с HANDLE, который в деструкторе будет всегда CloseHandle(file) это делать.
Помню, вроде на rsdn подобный код был, типа заворачиваем WinApi в ООП с конструкторами и деструкторами.
Думаю будет меньше лагов со стороны Linux. Надо будет накатить и проверить. Данный ПК я использовал как медиацентр несколько лет, так как есть hdmi выход. И тогда стояла lubuntu 16.04, идеальная версия дистра на мой взгляд. Быстрый, все работает из коробки.
Сейчас возможно соврепеный linux, будет +- как windows 10. Надо будет затестить.
Машинку пошто мучаешь? Поставь на неё ХР и есть актуальный порт Хромиума.
Это полумеры. Хочется пользоваться современным софтом на таком ПК. Хорошо, что есть альтернатива в виде Linux.
Windows Xp и Windows 98, стоит на Pentium 4, для нативной разработки и тестирования библиотеки. Правда смотрю не в очень аутентичный 27 дюймовый монитор с разрешением 1920x1080.
У меня есть ПК Athlon II X4 640 + 8 гб ОЗУ. Для интернета ещё подходит, но уже видна задержка, долго грузит, парсит страницы. Windows 11 на нём скажем так не блещет. И вот как раз разговоры об этом, что не процессор устарел, а ПО стало более требовательным.
Ладно бы я на нём 4k софтово кодировал или дипсик локально запускал. Но я говорю, о довольно стандартном его использовании.
Вы абсолютно правы. Но проблема даже не не в поддержке старых ОС. А уже железа недавнего прошлого. Когда тот же процессор i7-960, это уже печатная машинка. Современный софт, уже не может тянуть данный процессор. И я не говорю об играх ААА класса.
Как пример скриптования с низкими задержками. Это игра Fallout 1 и Fallout 2. Скрипты пишутся на смеси С и Pascal. Язык называется SSL - Star trek script language. Скрипт переводится в свой байткод, игра его интерпретирует. Ну и оригинальные игры спокойно работают на железе pentium 75 mhz, без risc-v и смс:)
Умели же.
А если сразу писать скрипты на С++? Минуя вот это вот всё?
Вы не понимаете, это другое:)
Скорость ЦПУ подняли, но скорость исполнения кода на этих ЦПУ, всрали. Извиняюсь, просто другого слова не нашел, для выражения общей тенденции.
Я вообще удивлён, что ещё не выложили на gitflic сорцы и не делают текущие сборки. Зашёл скачал, если нужно скачал сорцы и собрал.
Ну вы бы хоть график построили. Вот вам массив циферок, удачного парсинга. Я же не компьютер.
Спасибо за напоминание, почему не надо писать на интринсиках:)
Смотрел, понравилось.
Главное, что бы это все в очередной раз не сломалось под своей тяжестью.
Спасибо конечно за информацию. Гуглить, гуглить и ещё раз гуглить.
Мне не нравится вариант с unique_ptr тем, что будет по крайней мере один new. Банальный пример, а уже лезем в память. Возможно, что как то все оптимизируется. Я не вникал, как оно там устроено. Если, что поправьте.
Это будет оптимальнее. Хотя желание автора тоже понятно. Некий стандартный универсальный механизм.
Примерно так, так как HANDLE используется чуть менее чем во всем WinAPI облегчит жизнь. Это общая идея. Таким образом типизировать другие типы. Добавить inline, но со сборкой O2 думаю и так компилятор догадается.
Ещё вариант, без мам, пап и unique_ptr
Придумал, ещё вариант по старинке:) Класс Library и Handler дергают деструктор
FreeLibrary и CloseHandle.
Современные фичи С++ это хорошо, правильно. Но если уж исходить из юзабилити, вполне понятный вариант второй. Проверил, прочитал, закрыл. Никто же не мешает отделить LoadLibraryA и FreeLibrary в класс и дергать его в данном методе при выходе из функции сработает деструктор. Написать шаблон с HANDLE, который в деструкторе будет всегда CloseHandle(file) это делать.
Помню, вроде на rsdn подобный код был, типа заворачиваем WinApi в ООП с конструкторами и деструкторами.
Думаю будет меньше лагов со стороны Linux. Надо будет накатить и проверить. Данный ПК я использовал как медиацентр несколько лет, так как есть hdmi выход. И тогда стояла lubuntu 16.04, идеальная версия дистра на мой взгляд. Быстрый, все работает из коробки.
Сейчас возможно соврепеный linux, будет +- как windows 10. Надо будет затестить.
Это полумеры. Хочется пользоваться современным софтом на таком ПК. Хорошо, что есть альтернатива в виде Linux.
Windows Xp и Windows 98, стоит на Pentium 4, для нативной разработки и тестирования библиотеки. Правда смотрю не в очень аутентичный 27 дюймовый монитор с разрешением 1920x1080.
Я знаю SDL, он мне нравится и он можно сказать стандарт. И я реализую лишь минимально используемую часть SDL3.
У меня есть ПК Athlon II X4 640 + 8 гб ОЗУ. Для интернета ещё подходит, но уже видна задержка, долго грузит, парсит страницы. Windows 11 на нём скажем так не блещет. И вот как раз разговоры об этом, что не процессор устарел, а ПО стало более требовательным.
Ладно бы я на нём 4k софтово кодировал или дипсик локально запускал. Но я говорю, о довольно стандартном его использовании.
Вы абсолютно правы. Но проблема даже не не в поддержке старых ОС. А уже железа недавнего прошлого. Когда тот же процессор i7-960, это уже печатная машинка. Современный софт, уже не может тянуть данный процессор. И я не говорю об играх ААА класса.