|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
13.06.2011, 01:54
|
#16
|
Знающий
Регистрация: 09.10.2009
Сообщений: 340
Написано 37 полезных сообщений (для 61 пользователей)
|
Ответ: minecraft
В браузере?..а можно поподробней
|
(Offline)
|
|
13.06.2011, 11:56
|
#17
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: minecraft
Так же, если это вас интересует, для оптимизации рисования стороны блоков рисуются только для "граничных" блоков, а между блоками "внутри" рельефа не рисуются вовсе.
|
Хм, а если камера находится на поверности, а под землёй есть пещера. В пещере будут отрисовыватся кубы?
|
(Offline)
|
|
13.06.2011, 11:59
|
#18
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: minecraft
По-моему да, причем это можно увидеть пока игра загружается))
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Igor за это полезное сообщение:
|
|
13.06.2011, 12:47
|
#19
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: minecraft
Сообщение от Taugeshtu
Если так в майнкрафте (а судя по тормозам, это таки так) - нотч адский говнокодер. Набуя?! Тут уже говорили - дискретизируем координату, читаем соседние ячейки.. Регулярная сетка же, клинически простой случай.
|
Стоит заметить что при использовании упомянутого мной метода, учитывая то что размер игрока - ~0.8x0.8x1.6 блоков, то максимальное количество проверяемых за раз блоков будет равно 2х2х3 = 12.
Я не смотрел, как реализованы столкновения в MC, но логично предположить что используются циклы, поскольку далеко не все объекты имеют одинаковый физический размер. То есть, чтобы реализовать столкновения для пауков (у которых bounding box размерами в 1.*х1.*х0.*), придется переписывать функцию заново.
Сообщение от Den
Хм, а если камера находится на поверности, а под землёй есть пещера. В пещере будут отрисовыватся кубы?
|
Как факт, да. Так же если отредактировать terrain.png, сделав части базовых текстур полу-прозрачными (просто удалением каждого n-ого пикселя), то вы сможете созерцать весь подземный мир, стоя на поверхности.
Не думаю что можно определить надобность прорисовки нижних секторов карты, не делая массу raytrace'ов. А расходы на проведение оных скорее всего займут времени больше чем прорисовка тех немногочисленных сторон кубов в пещерах.
По последним версиям это сложно проверить, но в Classic версии игра не рисовала все блоки которые "явно" находились у игрока за спиной. Это достаточно очевидный способ оптимизации, но для однотипного мира уменьшает затраты ресурсов в ~2 раза.
Сообщение от JACUK
В браузере?..а можно поподробней
|
Если вы владеете лицензионной версией игры, то вы можете играть в нее в браузере, авторизовавшись на minecraft.net (сверху - 'Login', после - 'play (in browser)').
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
13.06.2011, 13:02
|
#20
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: minecraft
JACUK: скорее всего просто заканчивается память изза постоянных утечек (см. порой нелинейные руки разработчика). Если играть в браузере, то в таком случае будет просто крах браузера (или контейнера плагинов) вместо всего компьютера.
|
контейнера,плагин вылетет....многие браузеры блокируют их от таких глюков,вышибая если что,сразу
|
(Offline)
|
|
13.06.2011, 14:12
|
#21
|
scientist.alien
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений (для 2,593 пользователей)
|
Ответ: minecraft
Не думаю что можно определить надобность прорисовки нижних секторов карты, не делая массу raytrace'ов.
|
Эммм, Occlusion Culling? Хотя в принципе согласен, что проверка видимости может отъесть больше, чем отрисовка.
Вот чего я до сих пор понять не могу - почему каждый кадр меняется 1 чанк (настройка производительности - Max FPS), даже если не восход/закат (когда меняется освещение) и ничего не поменялось в структуре карты... Т.е. при 25 ФПС за секунду будет обновлено 25 чанков, не зависимо от окружающей действительности и реальной необходимости. Говнокод...
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab. We LOVE you. We MADE you.
|
(Offline)
|
|
13.06.2011, 15:26
|
#22
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: minecraft
Вероятно есть какие-то "текучие" чанки?
|
(Offline)
|
|
13.06.2011, 15:34
|
#23
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: minecraft
чанки вообще крайне неудачная идея, ящитаю.
это все можно было бы и красивее и главное эффективнее реализовать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.06.2011, 15:35
|
#24
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: minecraft
Сообщение от ffinder
чанки вообще крайне неудачная идея, ящитаю.
это все можно было бы и красивее и главное эффективнее реализовать.
|
Примеры?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
13.06.2011, 16:23
|
#25
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: minecraft
там он есть гпушный при включённом "Advanced OpenGL"
|
(Offline)
|
|
13.06.2011, 22:29
|
#26
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: minecraft
почему каждый кадр меняется 1 чанк (настройка производительности - Max FPS), даже если не восход/закат (когда меняется освещение) и ничего не поменялось в структуре карты...
|
Вот представь - оптимизовали минекрафт, ты поставил высокие настройки, играешь, радуешься - а тут оп и начинается закат, от которого комп тормозит...
Вам не кажется что утечка памяти только на 64 битных системах? Играл по нескольку часов на нетбуке, никаких проблем с памятью не было.
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
13.06.2011, 22:37
|
#27
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: minecraft
У меня 32 битная ось.
Через пару часов начинает юзатся своп.
Вывод?
|
(Offline)
|
|
13.06.2011, 23:11
|
#28
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: minecraft
Сообщение от Igor
Вот представь - оптимизовали минекрафт, ты поставил высокие настройки, играешь, радуешься - а тут оп и начинается закат, от которого комп тормозит...
|
вот, что значит оптимизировали...
|
(Offline)
|
|
13.06.2011, 23:14
|
#29
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: minecraft
стал разбираться с памятью и получилась какая-то фигня
1) используется 1272 Мб, ожидание 637 Мб. Все процессы в сумме намного меньше занимают. Кто-нибудь может объяснить, куда делась память?
Win 7 home premium 32
2) В кемуляторе тоже что ли утечки памяти? зачем ему 298 мегабайт?!
Написал программульку чтобы она решала судоку на телефоне, ради интереса пустил на компе чтобы поссчитал количество вариантов расстановки, первые 4 строчки и две цифры во втором '123456789'+'456789123'+'789123456'+'912345678'+'7 8' фиксированны. (Потом оптимизирую и сравню насколько быстрее будет) Зачем столько памяти джаве?! у меня два двухмерных массива 9*9 интегер, два одномерных [0..82] of integer и несколько переменных, решение сделано итерациями в блоке repeat ... until
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
13.06.2011, 23:33
|
#30
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: minecraft
Сообщение от ffinder
чанки вообще крайне неудачная идея, ящитаю.
это все можно было бы и красивее и главное эффективнее реализовать.
|
Хотелось бы все же поднять тему и поговорить о возможных вариантах реализации.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Lestar за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:03.
|