|
0 / 0 / 0
Регистрация: 01.08.2018
Сообщений: 14
|
|||||||||||
Логическая бомба непонимания или суперсложный массив11.12.2018, 23:22. Показов 891. Ответов 4
Метки нет (Все метки)
Здравствуйте, есть проблема оптимизации. Я делаю мультиплеерную игру на ноде+сокет. И столкнулся с проблемой, я делаю двумерный массив 80х80, состоящий из объектов, которые имеют несколько свойств, одно из которых - еще один объект с кучей свойств. И получается, что генерирую я вот так этот "суперсложный массив": :
Получается, что дело не в отрисовке на канвасе, а в вот этой вот операции
0
|
|||||||||||
| 11.12.2018, 23:22 | |
|
Ответы с готовыми решениями:
4
MD5 и 2 недели непонимания Логическая операция ИЛИ Логическая схема в базисе И,ИЛИ,НЕ |
|
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
|
|
| 12.12.2018, 01:29 | |
|
NoobFindAnswer, в теории массивы располагаются в памяти одним объектом, т.е. получить доступ к элементу можно простой арифметикой указателей (если проводить аналогию на С). (но я не уверен насчет реализации массива в том же движке v8).
1. Операция доступа к элементам массива не должна занимать много процессорного времени. 2. Нагружать может либо цикл рендеринга либо еще что-то. Покажите цикл, которым вы проходитесь по части карты. 3. Генерация этого массива происходит в момент запуска сервера или клиента? 4. Можно с помощью console.time() замерить время выполнения цикла. 5. Что делает settings.newSector?
0
|
|
|
0 / 0 / 0
Регистрация: 01.08.2018
Сообщений: 14
|
||||||
| 12.12.2018, 21:43 [ТС] | ||||||
|
3. Генерируется во время запуска сервера, единожды. ( это доказывает факт, что при выключенной вкладке браузера, но вкл сервере ЦП не нагружается)
5. Создает новый объект класса Sector. Я просто вынес через require, как вы говорили класс Sector и еще парочку, и как я понимаю вот так нужно их переносить. 2.
При увелечении массива sectors, нагрузка на ЦП взлетает Добавлено через 6 минут По таймеру: если sectors 30х30, то от 0.26 ms до 0.56 ms. Если 60х60, то разброс увеличивается и иногда до 2ms доходит. Обновление игры происходит раз в 1000/60 ms Добавлено через 8 часов 37 минут Есть идеи почему так? Или как по другому это реализуется, просто это очень важный аспект Добавлено через 3 минуты Я заметил еще один момент - если я убираю эту отрисовку, то все равно лагает, почему так может быть? map я только генерирую один раз и всё, далее после того как убрал я эту отрисовку, он вообще не используется нигде просто передается каждый тик на сторону клиента, неужели так затратно передавать такой объект?
0
|
||||||
|
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
|
||
| 12.12.2018, 22:23 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 01.08.2018
Сообщений: 14
|
|
| 12.12.2018, 22:43 [ТС] | |
|
Ну чтобы тайл отрисовывать на канвасе) других способов я не нашел
0
|
|
| 12.12.2018, 22:43 | |
|
Помогаю со студенческими работами здесь
5
Онлайн-магазин и непонимания привязки базы данных, создании формы регистрации и тому подобного Wi Fi бомба Бомба Бомба Нужна логическая схема 4-х разрядного сумматора или... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|