Мое приложение имеет несколько различных контекстов OpenGL, использующих один и тот же набор шейдеров. В настоящий момент он перекомпилирует, связывает и т. Д. Шейдеры несколько раз, по одному разу для каждого контекста. Я пытаюсь ускорить это, и наткнулся на EAGLSharegroup.
Документация для EAGLSharegroup гласит: «В настоящее время sharegroup управляет текстурами, буферами, буферами кадров и буферами рендеринга.», Но ничего не упоминает о шейдерных и программных объектах. Я не уверен, устарела ли документация, или разделение этих объектов просто не работает.
Согласно ответу на на этот вопрос , он работает, но я не могу найти ничего другого, чтобы поддержать это.
Я пробовал, и, похоже, он работает на симуляторе (еще не пробовал на реальном устройстве). Я испытываю случайность, или я могу положиться на это поведение? Я хотел бы иметь возможность полагаться на это, но не могу найти никакой официальной документации, которая говорит, что я могу.