| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2009 07:31:23
|
Golem
![[Avatar]](/images/avatar/4d0c87e77cf8fb0b2ea63f71fa8abf83f530a92c.png)
Joined: 15/04/2009 07:36:30
Messages: 238
Offline
|
утро доброе!
простой вопрос:
влияте ли (и насколько сильно) на
-производительность
-качество отрисовки
-объем занимаемой памяти
применение тайловых текстур вместо одной сплошной? (разумеется не считая время на загрузку самой текстуры)
у меня есть куб, на который я натянул цельную карту размером 2000х2000, причем пришлось сильно пожертвовать детализацией.
вот и думаю, что будет если пожертвовать запеченным освещением и сделать тайл размером скажем 200х200, с приемлемой детализацией, и применить его?
то есть общая (размноженная) площадь текстуры станет значительно больше, например 6000х6000.
и как повлияет на производительность и прочее, если вместо одной surface сделать у объекта несколько, и к каждой применить свою текстуру?
пусть даже общая площадь текстур при этом не изменится..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2009 17:14:19
|
superman
Joined: 03/06/2008 11:40:04
Messages: 64
Offline
|
вы можете использовать лайт мапу
например:
гразите текстуру 200х200
грузите лайт мапу 1024х1024
затем создаете в памяти текстуру 4048х4048 ну и рисуете в нее сначало текстуру тайлом, затем чуток растягиваете лайт мапу и кладете ее сверху с необходимым блендом и тд
и все )
вес уменьшится + качество не пострадает
все это можно сделать прям во флеше делаете свф размером 4048х4048 например и туда множите текстуру сверху накладываете лайтмапу, ну и компилите свф
его грузим в ваш проект и в битмапу сразу )
This message was edited 1 time. Last update was at 10/09/2009 17:14:56
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2009 06:45:54
|
Golem
![[Avatar]](/images/avatar/4d0c87e77cf8fb0b2ea63f71fa8abf83f530a92c.png)
Joined: 15/04/2009 07:36:30
Messages: 238
Offline
|
интересный вариант, надо попробовать.
спасибо!
но меня все-таки интересует именно выигрыш в скорости прорисовки 3D объекта от использования тайлов вместо цельной текстуры.
по сути - FPS увеличится или нет?..
что там вообще происходит в недрах памяти с этими тайл-плитками? размножаются ли они до размеров граней и хранятся в виде одной битмапы или так и остаются маленькими плитками?
и как повлияет на скорость использование gif-а вместо jpeg-а с таким же размером файла? (я не беру в счет качество изображения)
или они оба при загрузке развернутся в битмапдату и все у них будет параллельно..
понятно что это можно проверить опытным путем, но времени на эксперименты не хватает катастрофически.
плюс - пока что в AS3 ориентируюсь не очень, так что построение эксперимента затянется..
поэтому если кто уже занимался-интересовался этим вопросом - поможите чем сможите
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2009 08:50:25
|
superman
Joined: 03/06/2008 11:40:04
Messages: 64
Offline
|
fps сильно не изменится тайл это или нет, некоторые наблюдали что если размер текстур менее 256х256 то быстрее работает, в остальном без разницы
очень сильно влияет на fps прозрачные текстуры... т.у. происходить не замещение пикселя а смешивание его с низлежащим слоем...
сам по себе тайл к примеру 256х256 он так и будет в памяти хранится 256х256х24 байт, если вы сделаете прозрачную текстуру то будет 256х256х32 байт
в моем примере мы все же создадим большой битмап... т.е. память будет занята так же если бы мы загрузили бы 4048х4048 текстуру, тут разницы нет, если тока во времени загрузки
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2009 09:57:18
|
Golem
![[Avatar]](/images/avatar/4d0c87e77cf8fb0b2ea63f71fa8abf83f530a92c.png)
Joined: 15/04/2009 07:36:30
Messages: 238
Offline
|
ага, ясна, спасибо!
это и хотел узнать.
я просто пытаюсь увеличить FPS-ы экспериментируя над текстурами, т.к. 3Д модель упрощать уже дальше некуда..
(а еще размер окна уменьшил, stage.quality меняю при движении, сектора со сплиттерами....)
может есть какие-то рекомендации по увеличению производительности отрисовки за счет текстур?
что и как на что влияет..
про прозрачность уже понятно, но еще может влияют размеры текстуры, цветность..
что лучше - одна большая текстура на несколько объектов или несколько маленьких на каждый?...
что лучше использовать - gif, png, jpeg или может movieClip?..
вот в таком роде..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2009 12:58:02
|
superman
Joined: 03/06/2008 11:40:04
Messages: 64
Offline
|
ну тут мне кажется компромисс такой - поменьше треугольников + очень качественные текстуры, причем размер надо подогнать так, что бы они не "рябили" и не "квадратились" ))
gif, png, jpeg или может movieClip - без разницы влияет лишь тока прозрачность, и еще очень маленькие текстуры менее 256х256 (где то слышал) больше вроде ничего )
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2009 14:50:38
|
Golem
![[Avatar]](/images/avatar/4d0c87e77cf8fb0b2ea63f71fa8abf83f530a92c.png)
Joined: 15/04/2009 07:36:30
Messages: 238
Offline
|
хм..
правильно ли я понял, что если даже у меня в сцене все объекты будут с текстурами 4096х4096, по FPS-ам будет тоже самое, как если бы все текстуры были 500х500?
(я сейчас про цельные текстуры говорю, без тайлов)
это было бы конечно неплохо, но придется видимо все-таки проверить экспериментально, для уверенности..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2009 16:07:33
|
superman
Joined: 03/06/2008 11:40:04
Messages: 64
Offline
|
конечно надо проводить эксперименты, память у компов разная бывает, тут уже все упирается в память ))
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 15:34:57
|
Timid
Joined: 07/01/2009 12:03:17
Messages: 101
Offline
|
В случае OGL размер текстуры сказывается отрицательно на производительности.
Но там аппаратный расчет Z-буфера и все такое.
Для Альтернативы ситуация обратная.
Текстуры "тянутся" и рисуются на "почти аппаратном" уровне, X-window или GDI+. Что значительно быстрее чем даже z-сортировка на AS3.
Поэтому всегда когда возможно лучше исключать лишние полигоны в пользу текстур.
This message was edited 1 time. Last update was at 24/09/2009 15:35:20
|
|
|
 |
|
|