Что libsdl2 принес libsdl 1.2 специально для графики?

308
shirish

Из того, что я понимаю, libsdl2 сделал намного лучше играть в игры, чем libsdl 1.2. Но я не понял изменений, которые они купили. Я не программист, но конечный пользователь. Может кто-нибудь объяснить мне, как SDL2 принесет пользу мне как геймеру, особенно в отделе графики. ?

Есть несколько игр, которые все еще используют разрешение 800x600? Возможно ли, чтобы в эти игры играли на разрешении 1600x900 и таких разрешениях? Также возможны ли большие плитки в играх? Я понятия не имею, какие ограничения сделал SDL 1.2, который преодолел SDL2. С нетерпением жду, чтобы узнать.

Просто заметьте, что я нахожусь на Debian Jessie.

Обновление: на основе ответа @ Mario у меня есть интегрированный чипсет Intel G33. (Я знаю, что это старый чипсет :(), но если программист игры переключился на SDL 2, есть ли какие-то функции, которые могли бы сделать игры лучше для людей, у которых есть, например, чипсет Intel G33.

1
Вся «разница» в основном не зависит от оборудования. Вероятно, это все еще похоже, но вы можете заметить небольшое повышение производительности (например, из-за оптимизации в SDL2). Но, кроме того, вряд ли появятся какие-либо существенные различия, неважно, какой это был древний * ATI Rage 128 * или новейший * GeForce GTX Titan 2 *. Mario 9 лет назад 0
@Mario Я бы подождал несколько дней, покажите, может ли кто-нибудь, кто создал игру или что-то еще с использованием SDL 1.2 и портировал ее на SDL2, мог бы дать более глубокое понимание этого вопроса. Спасибо, что поделились информацией. хоть :) shirish 9 лет назад 0
Не хотел, чтобы ты спешил, не торопись. Mario 9 лет назад 0

1 ответ на вопрос

1
Mario

Отказ от ответственности: я ничего не писал с SDL в последнее время. Я прекратил использовать его во время разработки 1.3 / 2.0 из-за (IMO) ужасных интерфейсов и некоторых ограничений.

Вероятно, одно из самых больших изменений между SDL (1.x) и SDL 2 было в том, что они включали аппаратный блиттинг / рендеринг.

По сути, когда вы использовали SDL 1.x для создания окна, вы могли получить контекст OpenGL и, возможно, аппаратное ускорение, но все рисование выполнялось в программном режиме. Это обеспечивает лучшую совместимость между различными платформами, но в то же время очень и очень медленное по сравнению с современными графическими ускорителями (это было даже тогда).

Таким образом, SDL2 предоставляет программистам более легкий доступ к быстрым возможностям рендеринга и прочим вещам.

Однако скачок версии не означает, что игры выглядят лучше, или будут доступны более высокие разрешения или что-то в этом роде.

С SDL 1.x многие программисты использовали SDL для создания окна и контекста OpenGL кросс-платформенным способом, а затем использовали свои собственные вызовы рисования / OpenGL для фактического рисования.

Таким образом, весь вопрос сводится к одному вопросу:

Насколько хорош был оригинальный код с SDL 1.x?

При хорошей оптимизации и использовании аппаратного рендеринга вы вряд ли заметите разницу только потому, что некоторые программы переключаются с SDL 1.x на SDL 2. Это не может волшебным образом разблокировать некоторые новые возможности в целом (это может произойти, в зависимости от того, как оригинальная программа была написана).

Если были ограничения по разрешению, они были наложены программистом (например, чтобы предотвратить чрезмерное замедление при использовании программного рендеринга) или это что-то совместимое.

Похожие вопросы