Добро пожаловать в Логово Силвервинга



Instead9x

Скачать

Дополнительные ссылки

Исходный код

Ограничения

  • Более сложные игры могут не работать на некоторых конфигурациях. Если игра работает слишком медленно, вы можете попробовать отключить эффект перехода, музыку или использовать более низкое разрешение экрана;
    • Приемлемая производительность достигается на Pentium 3 или более быстрых процессорах;
    • Альфа прозрачность особенно медленна, поскольку расчитывается процессором; Игры, активно использующие ее будут работать медленно;
  • Доступна только программная отрисовка.

Project Status

Проект приостановлен на неопределенный срок. Мы планируем исправлять проблемы и поддерживать совместимость с новыми версиями INSTEAD, но дальнейших улучшений производительности и совместимости пока не будет.

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

  • SDL 1.2 поддерживает отрисовку через GDI (полностью программная отрисовка и довольно медленная) и DirectDraw (более быстрая аппаратно-ускоренная отрисовка)на Windows. Так же можно использовать OpenGL, но придется писать непосредственно OpenGL код, а не только SDL.
  • Текущий код отрисовки в INSTEAD написан с оптимизацией под программную отрисовку: перерисовываются только измененные области и по возможности используются оптимизированные функции отрисовки;
  • Перерисовка только измененных областей делает использование двойной буферизации DirectDraw невозможной, поскольку при этом создается два экрана с двумя предыдущими кадрами;
  • Прямое использование аппаратного ускорения DirectDraw так же нетривиально, так как из-за активного использования INSTEADом альфа-прозрачности, не поддерживаемой DirectDraw; Это значит что альфа наложение необходимо выполнять программно (т.е. медленно);
  • Использование "теневой поверхности" (в терминал SDL) не привносит существенных улучшений (поскольку все кроме переноса на экран при этом делается программно) и ломает аппаратный курсор (с которым использование INSTEAD гораздо более приятно, если движок подтормаживает);
  • Активное использование альфа прозрачности делает любые оптимизации достаточно проблематичными, поскольку многие игры полагаются на эту поддержку.

Подводя итог: Проверка идеи удалась. Движок запускает игры на достаточно старых компьютерах; теперь проект застрял между улучшением производительности, сохранением совместимости с играми и усилиями требуемыми для дальнейшего улучшения; Сейчас мы решили переключить внимание на собственный движок, который будет сразу разрабатываться с учетом работы на не самых производительных компьютерах.