Темы, приоритет и качество обслуживания на IOS - PullRequest
0 голосов
/ 13 апреля 2020

Наша игра использует CADisplayLink и OpenGLEs2.0 для рендеринга со скоростью 60 кадров в секунду. У нас также работает несколько потоков для обработки вызовов сервера, фоновой загрузки и т. Д. c. Я пытаюсь оптимизировать фоновую загрузку файлов и в тесте, если приоритет установлен на 0,5 - что, по-видимому, является значением по умолчанию - тогда он может загружаться быстро, может показаться, что он замедляется и занимает 2-3 раза дольше тогда как, если я установлю его на 0,8, он, кажется, всегда работает быстро, но иногда это приводит к тому, что CADisplayLink пропускает выстрел в нужное время. Если я установлю приоритет на 1.0, он будет чуть быстрее, но довольно часто пропускает CADisplaylink. Я нервничаю, что это значение немного произвольно и может работать по-разному на разных устройствах.

Я читал, что есть другие настройки - QualityOfService и QueuePriority. Должен ли я использовать их так же, или вместо приоритета потока. Должны ли эти значения быть установлены в главном потоке? Как IOS решает, сколько времени уделить каждой теме?

Спасибо

Шон

...