![]() |
спрайты
на экране 50*50 спрайтов плюс столько же на их тени. тоесть всего 2*50*50 и еще плюс 50*50 скрытых спрайтов (но они фпс и не едят)
все это копии от еще 6 разноцветных спрятанных спрайтов. как можно повысить фпс? |
Ответ: спрайты
Сделать их синглсурфейсными.
Прирост до 1000% |
Ответ: спрайты
Цитата:
|
Ответ: спрайты
собственно спрайты - это кнопки, с тенями.
и если я их сделаю односурфейсными то я так понимаю пикать их каждую отдельно будет уже нельзя? а пикать их необходимо, потому что программно рассчитывать (в каком регионе мышь) практически нереально - плоскость кнопок под углом к камере (плюс перспектива) , и количество кнопок варируется. Getcolor тоже не поможет - спрайт кнопки не однотонный. когда кнопка нажимается, она удаляется (и кнопки рядом сходного цвета). |
Ответ: спрайты
NoNsense, еще одно усилие и можно придумать пикуемые кнопки (отдельные элементы, скрытые) и отдельно их односюрфейсное представление.
|
Ответ: спрайты
повысит ли это фпс? вроде объекты с 0 альфой тоже его едят (50*50 по крайней мере).
и еще - элементы с 0 альфой станут мерцать, если я потом привяжу рендер к фпс. хм, кстати - пивотам можно делать ентитирадиус и пикать их? (сорри за простой вопрос, просто не могу сию минуту проверить сам - не за своим компом :)) |
Ответ: спрайты
Цитата:
|
Ответ: спрайты
пивотам можно. вот я набросал пример:
http://www.forum.likosoft.ru/showthr...?p=238#post238 на моей рабочей машине - сильный проц слабая видюзу удалось поднять фпс незныительно 10-20, на машинах со слабым процом но мощной видюхой должно быть изминение лучше заметно. |
Ответ: спрайты
HolyDel, сенкс, за пример.
только вот незначительный прирост фпс, озадачивает. еще была идея сделать два плайна и по ним рисовать брашем на одном кнопки, на другом тени, пикать пивоты и перераскрашивать плайн. только код весь придется переписывать с нуля. или еще попробовать тени объеденить с самими кнопками в синглурфейсы. кстати снижение фпс только из за колличества объектов или и из-за того что их можно пикать? |
Ответ: спрайты
ну... эт на рабочей машине небольшой, а на домашней удалось доднять с 60 до (180-220)
|
Ответ: спрайты
вобщем попробую
|
Ответ: спрайты
|
Ответ: спрайты
еще один вариант. Сделал чтобы можно было пикать по спрайтам в одном сурфейсе.
Код:
Graphics3D 800, 600, 32, 2 |
Ответ: спрайты
как-то глухо, получается но не то что надо
не могу понять как объединяются загружаемые спрайты. вобщем как мне связать в одну поверхность два спрайта такого типа: ghost=loadsprite("...путь...") sprite1=copyentity(ghost) sprite2=copyentity(ghost) positionentity sprite1,100,0,0 positionentity sprite2,-100,0,0 и еще - я так понял что после добавления они упадут в одни координаты, их до добавления надо именовать, а после добавления растаскивать? |
Ответ: спрайты
mesh = CreateMesh()
ghost=loadsprite("...путь...") positionentity ghost,0,-100000,0 HideEntity(ghost) sp1 = CopyMesh(ghost) PositionMesh(sp1, x, y, z) AddMesh(sp1, mesh) FreeEntity(sp1) как то так. Тебе прийдется писать свою систему спрайтов, чтобы они еще могли поворачиватся на камеру и тп. хотя для кнопок это не нужно, просто аттачишь к камере и все. |
Часовой пояс GMT +4, время: 08:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot