Показать сообщение отдельно
Старый 25.04.2012, 03:02   #13
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Оптимизированный перебор Type'а

Сообщение от burovalex Посмотреть сообщение
И фпс не маленький - это пишется время на кадр (т.е. 16-17 норма) Может вы хапустили первый пример - где обычный перебор, который тормозит.
Может у тебя видеокарта за 3к баксов, но я не могу посмотреть в сторону травы без слайд шоу, и показатель 16-17 я даже не видел.

Сообщение от burovalex Посмотреть сообщение
Да дело в том, что случайная генерация травы мне не подходит, т.к. трава должна рости и размножаться если в радиусе r свободное пространство.
Я понимаю. Я тебе не написал то что тебе нужно не потому что не понял твой задачи, а потому что ты должен это сам сделать. Я всего лишь скинул пример с более правильной техникой использования травы. А про то что ты говоришь тебе уже и я и Мока писали.

Сообщение от burovalex Посмотреть сообщение
Пример я посмотрел, и быстрее он работает только из-за того, что вы уменьшили размер травы с 52 кб до 8 кб.,
А вот и нет. Он быстрее работает потому что я все травинки объеденил в один сурфейс(одну поверхность) в одной модели. Когда я применю MoveEntity GrussMesh[0],x,y,z - у меня переместится не одна травинка. А целое поле травы которое генерировала функция в которой указана модель GrussMesh[0], а это потому что целое поле - единый сурфейс, единая модель, единая поверхность. Не представляю как тебе это по другому объяснить. Пойми одно, твой метод со спрайтами - неправильный!!! Это тут тебе любой скажет.
п.с. я не размер файла с 52 кб до 8 кб. уменьшил. У тебя трава 512х512пикселей изображение. Для такой травы и 64х64 хватит. Но я сделал тогда 128х128.

Сообщение от burovalex Посмотреть сообщение
при 52 кб. в вашем примере тормозить начинает сразу, даже закомментировав 45000 и оставив 15000.
Ничего подобного. Если хочешь использовать свою огромную. Так оно и есть - это очень, нафик, ОГРОМНАЯ текстура травы, то сделай вместо моей текстуры:
Global GrassTex=LoadTexture("Grass.png",1+4+8+256)
Свою, но с другими циферками в конце:
Global GrassTex=LoadTexture("Grass1.png",1+4+8 )
И мой пример даже 120 000 травинок выдержит. Прикрепил в аттаче где пример с твоей текстурой и 120 тисяч травинок работают при 60 фпс. Стоко ФПСа тебе еще долго убивать твоей травой.

Сообщение от burovalex Посмотреть сообщение
Так что вы меня не убедили что лучше использовать сёрфы )
Жаль, надеюсь в свете новых улик ты примешь правильное решение отказаться от спрайтов. И кстате, я не пытаюсь тебя ничему убедить. Я говорю прямо так, как тебе будет лучше, но кого слушать - дело твое.

Сообщение от burovalex Посмотреть сообщение
НО пример очень хороший много для себя взял и смотрится конечно такая травка намного симпатичнее. Так что всё равно, спасибо!
Просто то что я сейчас делаю наоборот направлено на простоту.
Я не понимаю как первое предложение можна перечеркнуть третьим.
Зачем учится табуреткой забивать гвозди, если 99.999999999999% тебе это в жизни не пригодится. Трава спрайтами - это для меня выглядит как если человек отказываясь от молотка берет табуретку для забивания гвоздей.
Хотя я тебе скажу, когда я учился делал вещи и по ужасней

Сообщение от burovalex Посмотреть сообщение
Я только не понимаю, на счет сурфейса я понял что больше 20000 трианглов будет MAV, а вот почему со спрайтом после 17000 MAV выпрыгивает на строке RenderWorld?
Я не скажу точной причины. Но 17тыщь моделей это перебор. В играх когда их 1тыщя - это уже мощная игра.

Я не "Вы" говори на меня - "Ты"
Вложения
Тип файла: rar SingleSurf.rar (51.9 Кб, 453 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (25.04.2012)