forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   minecraft (http://forum.boolean.name/showthread.php?t=14851)

JACUK 13.06.2011 01:54

Ответ: minecraft
 
В браузере?..а можно поподробней:)

den 13.06.2011 11:56

Ответ: minecraft
 
Цитата:

Так же, если это вас интересует, для оптимизации рисования стороны блоков рисуются только для "граничных" блоков, а между блоками "внутри" рельефа не рисуются вовсе.
Хм, а если камера находится на поверности, а под землёй есть пещера. В пещере будут отрисовыватся кубы?

Igor 13.06.2011 11:59

Ответ: minecraft
 
По-моему да, причем это можно увидеть пока игра загружается))

YellowAfterlife 13.06.2011 12:47

Ответ: minecraft
 
Цитата:

Сообщение от Taugeshtu (Сообщение 191348)
Если так в майнкрафте (а судя по тормозам, это таки так) - нотч адский говнокодер. Набуя?! Тут уже говорили - дискретизируем координату, читаем соседние ячейки.. Регулярная сетка же, клинически простой случай.

Стоит заметить что при использовании упомянутого мной метода, учитывая то что размер игрока - ~0.8x0.8x1.6 блоков, то максимальное количество проверяемых за раз блоков будет равно 2х2х3 = 12.
Я не смотрел, как реализованы столкновения в MC, но логично предположить что используются циклы, поскольку далеко не все объекты имеют одинаковый физический размер. То есть, чтобы реализовать столкновения для пауков (у которых bounding box размерами в 1.*х1.*х0.*), придется переписывать функцию заново.

Цитата:

Сообщение от Den (Сообщение 191370)
Хм, а если камера находится на поверности, а под землёй есть пещера. В пещере будут отрисовыватся кубы?

Как факт, да. Так же если отредактировать terrain.png, сделав части базовых текстур полу-прозрачными (просто удалением каждого n-ого пикселя), то вы сможете созерцать весь подземный мир, стоя на поверхности.
Не думаю что можно определить надобность прорисовки нижних секторов карты, не делая массу raytrace'ов. А расходы на проведение оных скорее всего займут времени больше чем прорисовка тех немногочисленных сторон кубов в пещерах.

По последним версиям это сложно проверить, но в Classic версии игра не рисовала все блоки которые "явно" находились у игрока за спиной. Это достаточно очевидный способ оптимизации, но для однотипного мира уменьшает затраты ресурсов в ~2 раза.

Цитата:

Сообщение от JACUK (Сообщение 191349)
В браузере?..а можно поподробней:)

Если вы владеете лицензионной версией игры, то вы можете играть в нее в браузере, авторизовавшись на minecraft.net (сверху - 'Login', после - 'play (in browser)').

RegIon 13.06.2011 13:02

Ответ: minecraft
 
Цитата:

JACUK: скорее всего просто заканчивается память изза постоянных утечек (см. порой нелинейные руки разработчика). Если играть в браузере, то в таком случае будет просто крах браузера (или контейнера плагинов) вместо всего компьютера.
контейнера,плагин вылетет....многие браузеры блокируют их от таких глюков,вышибая если что,сразу

Taugeshtu 13.06.2011 14:12

Ответ: minecraft
 
Цитата:

Не думаю что можно определить надобность прорисовки нижних секторов карты, не делая массу raytrace'ов.
Эммм, Occlusion Culling? Хотя в принципе согласен, что проверка видимости может отъесть больше, чем отрисовка.
Вот чего я до сих пор понять не могу - почему каждый кадр меняется 1 чанк (настройка производительности - Max FPS), даже если не восход/закат (когда меняется освещение) и ничего не поменялось в структуре карты... Т.е. при 25 ФПС за секунду будет обновлено 25 чанков, не зависимо от окружающей действительности и реальной необходимости. Говнокод...

pax 13.06.2011 15:26

Ответ: minecraft
 
Вероятно есть какие-то "текучие" чанки?

ffinder 13.06.2011 15:34

Ответ: minecraft
 
чанки вообще крайне неудачная идея, ящитаю.
это все можно было бы и красивее и главное эффективнее реализовать.

pax 13.06.2011 15:35

Ответ: minecraft
 
Цитата:

Сообщение от ffinder (Сообщение 191400)
чанки вообще крайне неудачная идея, ящитаю.
это все можно было бы и красивее и главное эффективнее реализовать.

Примеры?

Mr_F_ 13.06.2011 16:23

Ответ: minecraft
 
Цитата:

Occlusion Culling
там он есть гпушный при включённом "Advanced OpenGL"

Igor 13.06.2011 22:29

Ответ: minecraft
 
Цитата:

почему каждый кадр меняется 1 чанк (настройка производительности - Max FPS), даже если не восход/закат (когда меняется освещение) и ничего не поменялось в структуре карты...
Вот представь - оптимизовали минекрафт, ты поставил высокие настройки, играешь, радуешься - а тут оп и начинается закат, от которого комп тормозит...
Вам не кажется что утечка памяти только на 64 битных системах? Играл по нескольку часов на нетбуке, никаких проблем с памятью не было.

den 13.06.2011 22:37

Ответ: minecraft
 
У меня 32 битная ось.
Через пару часов начинает юзатся своп.
Вывод?

ffinder 13.06.2011 23:11

Ответ: minecraft
 
Цитата:

Сообщение от Igor (Сообщение 191427)
Вот представь - оптимизовали минекрафт, ты поставил высокие настройки, играешь, радуешься - а тут оп и начинается закат, от которого комп тормозит...

вот, что значит оптимизировали...

Igor 13.06.2011 23:14

Ответ: minecraft
 
Вложений: 1
стал разбираться с памятью и получилась какая-то фигня
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

Lestar 13.06.2011 23:33

Ответ: minecraft
 
Цитата:

Сообщение от ffinder (Сообщение 191400)
чанки вообще крайне неудачная идея, ящитаю.
это все можно было бы и красивее и главное эффективнее реализовать.

Хотелось бы все же поднять тему и поговорить о возможных вариантах реализации.


Часовой пояс GMT +4, время: 04:32.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot