Кто нить побывал кодить изометрию? Что то как на си шарпе замутить у меня не удалось, скорости AS3 не хватило, 400 копи пикселей работает дальше тормозит жестко. На си шарпе 20 000 копирований делает при 60 фпс. Есть ли какие нить методы оптимизации? Мне нужно хотяб 1000 объектов разом рисовать.
Да и возбми игру поляриса манго самурай без 3д ускорителя работает на ура и она охуительная. А вообще флешевцы должны все методы для работы с графикой перевести на gpu как енто работает в других средах разработки. И что то мне кажется что в CS7 так и будет
Dracyla я же сказал, что такая технология не подходит, ты начал все равно рекламировать я тебя попросил скинуть свои труды на ней(что бы действительно увидеть что за технология такая) зачем ставить 3 точки? и какой то непонятный набор символов.
Dracyla flash он ток умеет работать с 3д и ничего кроме он не предоставляет. Скинь какуюнить демку свою, а не авторов где видно насколько он шикарен?? Так же помоему с шейдерами не работал на флеше. А любое взаимодействие с 3д сводится к кодингу на шейдерах
iDenChig, несколько причин, по которым я выбрал Starling: 1) я не хочу изобретать велосипед, а сэкономленное время лучше потрачу на отдых; 2) процесс взаимодействия ничем не отличается от привычного, имена классов и их свойств совпадают - DisplayObject, Sprite; 3) если не хватает функционала Starling (а я лично этой проблемы не испытал), можно в любой момент переопределить метод render и работать напрямую с Context3D; 4) для Starling уже реализовали неплохую библиотеку компонентов, я им не пользуюсь, но его существование уже плюс, так как не придется и над этим вопросом велосипедить.
P.S.: ты: есть ли какие-нить методы оптимизации, чтобы во флэше изометрия работала быстрее? я: используй Starling ты: для работы с GPU я лучше буду использовать другие среды я: а где логика? если тебе нужно выполнить задачу на флэше, почему бы не использовать ВСЮ мощь ДАННОЙ (флэш) среды?... бред
Dracyla зачем себя ущемлять starling переписать свой код под чужие замуты потерять кучу нужных методов и свойств, если проще уже на чистом stage3D писать?? И еще раз повторюсь если использовать 3д ускоритель то в более мощных средах.
sw_alex 20 объектов в изометрии ты шутишь?)) Dracyla я понял как самому работать с GPU на флеше. Я тебе не про либы я про сам флешь, если я буду использовать GPU то я скорей всего с юнити3д работать начну. Там есть конкретный редактор 3д мирка, что во флеше над собственный редактор мутить. Да и шейдорасы там на си подобном языке пишутся, а не на страшно асемблеро подобном языке.
Как это не случиться, разбери компилятор и оптимизируй копиПиксель, ну потом наверное еще и флеш плееры придется все переделывать хД
Ну я же сказал Starling будет работать быстрее с изображениями большего размера, для маленьких их нет смысла делать, тут уже от кода зависит то а не от самого копиПикселя, копипиксель то никак не ускоришь, а вот алгортим ускоришь выкидывая и оптимизировывая ненужные строчки кода
важно еще учесть то, что Adobe постепенно улучшают общение Flash и GPU, и всякие библиотеки типа Alternativa3D, Starling соответственно тоже не стоят на месте, шаг за шагом повышая скорость отрисовки объектов на экран... а copyPixels как есть, так больше с ним ничего и не случится XD..
GPU то используют конечно много для чего, и даже для брута паролей, но вот ассемблерный код там намного урезанее чем в CPU, так как предназначен только для обработки тяжелой графики, это уже люди умудряются использоваться команды GPU в других целях, но однако не просто это все, а просто 2Д картинки и прочее так это если использоваться его напрямую, а во флеше таких возможностей нет, там все сильно уреазно, шейдерная версия 2.0 и то неполная
Неа. GPU сейчас используют даже для обычных вычислений, никак не связанных с графикой, но для которых возможно параллельное исполнение. Например, физические рассчёты или работа с массивами. GPU состоит из кучи мелких процессоров, которые выполняют одновременно одну команду, но с разными данными на входе. И засчёт своего количества могут быстро обработать гору однообразных данных, такую как картинка или треугольники эти. Тогда как CPU выполняет команды по одной (ну там сильно сложнее конечно, до 4х и больше одновременно может, но с GPU не сравнится). И передавать обратно в CPU картинку нет никакого смысла - GPU сам выводит её на экран, и пишет что надо в память. И с 2D-графикой работать тоже видяхи умеют. Даже в современных версиях браузеров используется видеоускорение - а это и есть работа GPU в 2D.
GPU помоему не предназначен для простой 2д графики, так как он растерезирует треугольники, то есть имеется сложная модель 3д он рассчитывает все вершины, отрисовывает все пиксели и потом полученную растровую картинку передает процессору, то есть мы получаем картинку обратно практически тем же копипикселем, тогда какой смысл копипикселить то что копипиксельнет GPU? Да и GPU может только растерезировать треугольники, по пикселям он работать не умеет, на крайняк можно написать сложный шейдер используя Pixel Bender Toolkit
Не ну почему же не будет быстрее если использовать GPU. Ведь в таком случае CPU отвечает за вызов функций, а GPU копипикселит (для CPU это очень тяжелая операция, ведь он копирует пиксели последовательно, а GPU может распараллелить эту задачу). Без GPU процессору приходится делать и то, и другое. Оптимизировать тут тоже конечно надо. Зачем каждый кадр копировать 1000 объектов, когда реально изменяется штук 20?..
Я бы не сказал, что быстрее, если отрисовывать битмапку Full HD копипикселей и GPU то GPU несомненно отрисует быстрее, но когда копипиксельишь 1000 маленьких изображений, тот тут уже не в GPU дело, ведь сам вызов функции для GPU отрисовки занимает больше времени так как содержит больше функций, а копипиксель намного меньше, поэтому копипиксель в таких случаях работать будет быстрее, но я конечно же не тестил это все, но из практики просто знаю что не в GPU дело а в оптимизации алгоритма, вот делают на флеше 3Д без GPU, графика там хоть и послабже, но работают очень быстро, и делают игры на молехилле которые и по графике говно да еще и лагает ппц, это уже говорит о кваливицированности разработчика и тут никакие GPU не помогут
Не думаю что Starling поможет, там ведь просто аппаратная графика, а лагает то уж точно не от графики а от количества вызовов функции, да и вообще алгоритма рендера в целом, в общем нужно просто оптимизировать сам процесс отрисовки, так как лагать то там нечему это ж раст обычный, старайся уменьшить количество вызовов функций до минимума, чем меньше функций тем работает быстрее, да и вообще всех рассечтов, например я заменил в алгоритме Math.PI на 3,14... и получил приток скорости, но это в моем случае, там оптимизировать то надо было 2 строчки хД но все же даже такие мелочи придают скорости