User Tag List

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя
Показано с 51 по 60 из 80

Тема: Внутренности программ

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вклинюсь с ЧипоДейлом - 25 FPS. Можно еще быстрее, но тогда надо взять только графику и полностью переписать движок. На это я не готов, данное упражнение завершил.

    Эти 4 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    metamorpho(29.08.2022), nzeemin(27.08.2022), parallelno(27.08.2022), svofski(27.08.2022)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть такая штука, там и статейка лежит. Железный конь идет на смену крестьянской лошадке.

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я не против плавности, но это будет уже несколько другая игра.
    Что можно было бы улучшить в ремейке потапа для вектора:
    1. Свести к минимуму тиринг. Скорость классической векторовской версии вполне достаточная, но главгерой при движении помаргивает. Ну и в векторовской версии есть недоработка - если задеть exit боком, то он частично сотрется и так останется, это тоже можно поправить.
    2. Попробовать реализовать на бейсике. Вот тут конечно тяжко. Или свести функцию бейсика к вызову подпрограмм на асме или что-то такое сделать с бейсиком, чтобы он сам что-то мог. Кстати, есть версия на бейсике и для советского компа на ВМ80 - ПК8002. Правда там аппаратные тайлы и спрайты и портированный туда msx basic.

  5. #4

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,325
    Спасибо Благодарностей отдано 
    1,037
    Спасибо Благодарностей получено 
    820
    Поблагодарили
    491 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Было бы интересно понять, насколько другая. Пока это в Godot, цена эксперимента не так велика. Тут еще не знаю как оценивать. Сам я тот еще игрок к сожалению: когда начинаются уровни с пролетом над огнем итд у меня терпение лопается очень быстро.

    Тиринг в Векторовской версии никогда меня не напрягал. Кстати в эмуляторах MSX мельтешня заметна гораздо сильнее, но оно и понятно. Вот идея перенести целиком на бейсике забавная, но боюсь, что тут самый простой способ -- это перенести сначала соответствующий бейсик. Ну и я не знаю, что именно в бейсике вызывает такие атомные тормоза (похоже, что правильный ответ "всё"), но если не переделывать в нем что-то радикально, шансов догнать оригинал тут по-моему никаких нет.
    Больше игр нет

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Ну и я не знаю, что именно в бейсике вызывает такие атомные тормоза (похоже, что правильный ответ "всё"), но если не переделывать в нем что-то радикально, шансов догнать оригинал тут по-моему никаких нет.
    Могу только согласиться

  7. #6

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,325
    Спасибо Благодарностей отдано 
    1,037
    Спасибо Благодарностей получено 
    820
    Поблагодарили
    491 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Могу только согласиться
    У тебя большой опыт ковыряния в бейсиках. Что в них так тормозит? Например, они правда парсят каждую строчку по мере исполнения и никак этому нельзя помочь? Токены ок, но кроме токенов остаются аргументы функций и арфметические выражения, они видимо вычисляются каждый раз на ходу? Если попробовать на миг забыть наследие Альтаира с 8К памяти, что можно в бейсике изменить, чтобы сделать его быстрее. Объективно, не примериваясь на собственные ресурсы, но и не меняя язык, не превращая его в компилятор итд, а вот именно в рамках того, чем он является.
    Больше игр нет

  8. #7

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,338
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    1,497
    Поблагодарили
    974 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на ZX есть `компиляторы` которые на самом деле не переводят строку в маш.код,
    а конвертят её в формат более быстрый для передачи в интепретатор.
    например Tobos

  9. #8

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,325
    Спасибо Благодарностей отдано 
    1,037
    Спасибо Благодарностей получено 
    820
    Поблагодарили
    491 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    на ZX есть `компиляторы` которые на самом деле не переводят строку в маш.код,
    а конвертят её в формат более быстрый для передачи в интепретатор.
    например Tobos
    У меня тоже была мысль первая -- зачем останавливаться на подмене операторов на токены, если можно все прожевать в деталях (но так, что бы потом можно было восстановить). Для листинга и редактирования можно потерпеть как фарш проворачивается назад, а для исполнения все же иметь то, что легко исполнить, а не легко отредактировать. Но пока я не знаю что на самом деле там происходит, так что это все так, слова и жестикулирование.

    Константы можно было бы хранить в обработанном виде. Тут правда трудно соблюсти однозначное соответствие между текстом и внутренним представлением. Как отличить 0003 (ну захотелось мне так написать) от 3. Например так: токен "const-int", 3, индекс строки "0003" в таблице строк. Больше памяти нужно, ну и что.

    А выражения как обрабатываются? Каждый раз строится дерево с нуля (наверное на ходу прямо исполняясь) ?
    Больше игр нет

  10. #9

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В "постмикрософтовских 3.2" бейсиках, крайне популярных на советских компах с ВМ80:
    1. Каждое обращение к переменной приводит к ее поиску по имени в области переменных
    2. Константы каждый раз переводятся во внутреннее представление
    3. Каждый переход/вызов подпрограммы приводит к поиску строки с требуемым номером по всей программе
    4. Отдельно можно отметить наличие только 4х байтной плавучки (хотя и довольно хорошей в своем классе) при отсутствии 8-16 битных целых. Тут более поздние микрософтовские бейсики (в т.ч. msxный) отыгрываются, у них есть целые.

    - - - Добавлено - - -

    Ну и можно вспомнить микрософтовский компилятор бейсика для CP/M. На нем в принципе можно писать программы для вектора, но это отдельная история.

  11. #10

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,325
    Спасибо Благодарностей отдано 
    1,037
    Спасибо Благодарностей получено 
    820
    Поблагодарили
    491 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да тут вообще непочатый край. Отсутствие целых это особенно ржавые вилы. Я наоборот предпочел бы целочисленный бейсик.

    Про номера строк я даже не подумал подумать. Если правильно помню, то строка -- это два байта номер строки, байты токенизированной строки, 0. Длины нет. Получается, что переход на строку где-то в конце программы перелопачивает весь листинг? Зло, что тут скажешь. А можно применить творческий двоичный поиск -- тыкаемся просто в середину всей программы, ищем ближайший 0, определяем номер строки за ним и так далее ? Или так и сделано?
    Больше игр нет

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 0
    Последнее: 10.07.2008, 12:31
  2. Внутренности от компьютера Агат
    от ed4mk в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 20.03.2007, 17:34
  3. Тестирование программ
    от Vitamin в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2005, 21:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •