Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   GPU, CPU и Direct mode - что лучше? (http://www.flasher.ru/forum/showthread.php?t=208131)

LifeIsRhythm 05.06.2014 22:33

GPU, CPU и Direct mode - что лучше?
 
Из-за темы по соседству, понял, что многого ещё не понимаю и посмотрев и не найдя в гугле ответа, спрошу у Вас -
1) Что такое Direct mode и в чем его отличие от gpu?
2) Если делать игру, то рендер в общую BitmapData, это хорошо, но будет ли лучше, если компилировать в режиме gpu?
3) Когда и при каких обстоятельствах нужно использовать gpu?
3) Когда не следует использовать gpu?

illuzor 05.06.2014 23:06

1) Это не режим компиляции, а тип рендера браузером или AIR приложением. Всё есть в справке.
2) см. выше. Вряд ли будет какая-то заметная разница при использовании дисплей листа.
3) Вряд ли он особо нужен. В нём есть некоторые ограничения, лучше использовать direct.
4) см. выше.

Видимо вы толком не понимаете, о чём спрашиваете.

LifeIsRhythm 05.06.2014 23:30

Цитата:

Видимо вы толком не понимаете, о чём спрашиваете.
Как не странно, но Вы правы! Я вообще всегда спрашиваю только то, что не понимаю...
Цитата:

3) Вряд ли он особо нужен. В нём есть некоторые ограничения, лучше использовать direct.
Если у меня видео карта не поддерживает ускорение Direct, то какой режим будет выбран?
Тут я могу опять говорить неправильно, так-как для меня cpu, это режим и gpu тоже, а вот что такое Direct я не понимаю, о чем и попросил объяснить. По Вашей ссылке, за которую спасибо, я ничего не понял, потому что написано - это хорошо, а чем не написано.

Добавлено через 24 минуты
Если знает кто-нибудь статьи о разных модах рендера, дайте ссылку.

caseyryan 06.06.2014 07:53

Опыт показывает, что игры собранные под graphics processing unit, или, говоря по-русски под графический процессор, не всегда хорошо работают на компах. Видимо адоби и не парились с этим особо, затачивая его больше под мобилы. Пример такой игры у меня в подписи. Этот бешеный конь очень хорошо работает на телефоне, но при этом жутко тормозит на некоторых компах. Собран полностью под GPU на старлинге.
Цитата:

3) Когда не следует использовать gpu?
Если разрабатывается игра для браузера, то при нормальной работе стандартного дисплей листа, лучше использовать его, а не GPU. Мое личное мнение, основанное на вышесказанном, то есть на практике использования.
Если же делается игра для мобил, то лучше как раз использовать GPU.

LifeIsRhythm 06.06.2014 21:02

Цитата:

Этот бешеный конь очень хорошо работает на телефоне, но при этом жутко тормозит на некоторых компах.
Хочется поинтересоваться - Вы пытались найти объяснение и если нашли то в чем причина?
И ещё хочется спросить не исключаете ли Вы собственной ошибки, которая стала причиной тормозов?
Хотя если на мобилках, то причина вряд ли в коде..

И если кто-то делал игры для компа на Starling, были ли у Вас подобные проблемы?

Bletraut 06.06.2014 21:25

Код AS3:

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

Возможно, на компе стоит видеокарта не поддерживающая аппаратное ускорение флеш плеера.

Думаю если игра делается не для мобил, да и к тому же она 2д, то использовать стралинг или гту особого смысла нет, есть куча других эффективных методов оптимизации. Но если игра для мобил, где процессор довольно слаб в таких делах, или в игре нужна трёхмерная графика, то тут уже нужно гпу.

LifeIsRhythm 06.06.2014 21:30

Bletraut, Вы утверждаете, что gpu === Direct?

caseyryan 06.06.2014 21:34

Цитата:

Возможно, на компе стоит видеокарта не поддерживающая аппаратное ускорение флеш плеера.
Ну, скорее всего. Но в этом и есть вся проблема. Слишком уж много таких компов попадается.
Цитата:

gpu === Direct?
Нет. Режим рендера direct просто дает доступ к ресурсам видеокарты. Но в этом режиме можно и обычный дисплей лист использовать. Разумеется при этом не будет использоваться видеокарта для просчета графики.
Цитата:

Вы пытались найти объяснение и если нашли то в чем причина?
Особо не парился по этому вопросу. Игру я делал изначально только под мобилы. Для соцсети это уже так, чтоб было)

LifeIsRhythm 06.06.2014 22:00

Цитата:

Нет. Режим рендера direct просто дает доступ к ресурсам видеокарты.
А если поддержки этого мода нет, то чем обрабатывается графика, раз такая простая,
в плане графики, игра, тормозит комп?

Bletraut 06.06.2014 22:14

Цитата:

А если поддержки этого мода нет, то чем обрабатывается графика, раз такая простая,
в плане графики, игра, тормозит комп?
Я советую прочитать про видеокарту и для чего она нужна, если допустим игра написана с ипользование старлинга, а видеокарта не поддерживается, то все вычисления вместо видеокарты ложатся на процессор. В обычном режиме процессор используется.

LifeIsRhythm 06.06.2014 22:27

Цитата:

Я советую прочитать про видеокарту и для чего она нужна
На примитивном уровне я понимаю для чего она нужна! Но разговор о другом!
Если старлинг переводит расчёты на cpu, когда direct не поддерживается и игра тормозит на компах,
то равносильно утверждать, что такую же игру и лучше ( имеется ввиду конь и естественно имеется ввиду графически ) сделать просто НЕВОЗМОЖНО.
Это вот под этим Вы подписываетесь?

caseyryan 06.06.2014 22:37

Цитата:

сделать просто НЕВОЗМОЖНО
Вполне себе возможно. Такую игру родной дисплей лист потянет гораздо лучше старлинга на компе

LifeIsRhythm 06.06.2014 22:47

caseyryan, спасибо, вот эти слова я и хотел услышать.
Bletraut и Вам спасибо, помогли хоть немного разобраться :)

Bletraut 07.06.2014 03:26

Цитата:

Если старлинг переводит расчёты на cpu, когда direct не поддерживается и игра тормозит на компах,
то равносильно утверждать, что такую же игру и лучше ( имеется ввиду конь и естественно имеется ввиду графически ) сделать просто НЕВОЗМОЖНО.
Конечно же возможно! Старлинг в основном как я считаю был задуман под мобильные устройства, на которых процессору более тяжко выполнять рендер.

Стандартный дисплей лист и рендер на видеокарте это совершенно разные вещи. Видеокарта отрисовывает графику куда быстрее, чем процессор, и понятно что gpu намного быстрее cpu. Но процессор не настолько слаб как очевидно вы представили, в большинстве своём если в игре не нужна реалистичная 3д графика, то её с лёгкостью можно выполнить на cpu без каких либо лагов, главное с умом подходить к написанию программы.

Ну а так можно и калькулятор с гпу написать который лагать неимоверно будет.

Zebestov 07.06.2014 14:39

Что-то у вас смешались в кучу кони, люди.

DIRECT
Стоит особняком, потому что позволяет использовать Stage3D и, как следствие, все основанные на нем движки как 2D, так и 3D.

CPU
Один из двух старых стандартных методов отрисовки контента. Наиболее пригоден при отрисовке дисплейлиста, изобилующего векторным контентом, а так же при блиттинге (ручное копирование пикселей в одну битмапу).

GPU
Идеальный выбор для отрисовки дисплейлиста, на львиную долю состоящего из растра (Bitmap).

Теперь о выборе.

ДЕСКТОП
"…тут есть два варианта" ©
Если это игра, которую планируется продать спонсору (порталу), то DIRECT категорически противопоказан по причине того, что [много нехороших слов] Adobe никак не родит доступ к Stage3D из старых добрых wmode window|opaque|transparent. А wmode direct никак не прикрутят криворукие (ленивые?) владельцы огромного числа средних и мелких (а порой и крупных) порталов, что сильно ограничивает распространение игры (читай рекламы того портала, который у тебя эту игру купил). Короче фейл. Нельзя. Забудь. Используй CPU, потому что особенной разницы на десктопе не будет, а недостатки GPU (выше вон пишут) делают его не таким привлекательным.

МОБИЛЬНЫЕ ПЛАТФОРМЫ (AIR)
Если графика и анимации "тяжелые" — DIRECT без вариантов. Благо Starling имитирует привычный дисплейлист и все "погружение" по большому счету сводится лишь к тому, чтобы раз и навсегда понять и прростить текстурные атласы.
Если же приложение совершенно легковесное в плане графики — бери GPU, когда много растра ("бонусом" будут ограничения по некоторым эффектам и блендмодам), или CPU, когда много вектора (тут все включено).

Bletraut 07.06.2014 15:11

Цитата:

блиттинге (ручное копирование пикселей в одну битмапу).
Оо, у этого даже название есть. Не знал, спасибо.


Часовой пояс GMT +4, время: 20:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.