Как я сохраняю свои мировые данные в синхронизации в многопоточном игровом механизме?

Ваш родительский класс может быть слишком широким, и через некоторое время вы можете получить другой элемент, тогда ваш второй запрос не сможет найти правильного потомка.

При поиске с помощью селектора CSS вы можете комбинировать несколько вложенных классов, используя пробелы между ними. Затем вы можете объединить вложенный запрос в один.

Также я предлагаю вам использовать wait в этом случае, чтобы гарантировать, что элемент будет присутствовать. Сравните со сном, он будет периодически отправлять запрос на страницу, пока не найдет ваш запрос.

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

wait = WebDriverWait(driver, '30')
wait.until(EC.presence_of_all_elements_located("css selector", ".classname .anotherclassname")))

Если элемент также должен быть видимым, измените [111 ]sence_of_all_elements_located на visibility_of_any_elements_located

5
задан tshepang 15 April 2014 в 19:08
поделиться

1 ответ

Нет, нет общепринятого общего ответа, это актуальная область исследований в области разработки игр.

Мои 2 цента - это общепринятое мнение - какой из них использовать, действительно зависит от вашего конкретного случая использования - если в вашей игре много данных (то есть, она очень интенсивно использует память, как и большинство игр блокбастеров), вам, вероятно, захочется просто передать изменения. Если ваша игра не требует большого объема памяти (например, аркадных игр), вы, вероятно, можете избежать копирования всего объекта.

Я бы предложил реализовать оба варианта и подключить таймеры производительности, чтобы увидеть, какой из них лучше для вас; возможно реализовать архитектуру, которая может прозрачно обрабатывать оба метода.

4
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: