Зменшуємо кількість викликів методів OpenGL ES / JNI – РОЗРОБКА ІГОР ДЛЯ ОС ANDROID

Перш за все це могло статися через великої кількості викликів OpenGL ES на кадр, коли ми визуализируем модель для кожного з Бобов У нас відбувається чотири матричні операції з кожним екземпляром Боба Якщо нам не потрібно поворачивание або зміна розмірів, можемо скоротити кількість викликів до двох Ось кількість кадрів в секунду, коли ми використовуємо тільки gl Loadldenti ty і gl Trans 1 atef у внутрішньому циклі:

Отже, ми трохи поліпшили роботу НТС Нього, в свою чергу Droid і Nexus One також виграли від зменшення кількості матричних операцій до двох Звичайно, тут ми йдемо на хитрість: адже якщо нам потрібно повернути і змінити розміри Боба, ми не можемо прибрати два додаткових виклику Проте, коли ми працюємо з 20-візуалізацією, ми можемо застосувати невеликий маневр, який допоможе нам позбутися всіх матричних операцій

OpenGL ES – це API мовою С, його застосування в мові Java забезпечується за допомогою обгортки JNI Це означає, що будь-який метод OpenGL ES, який ми викликаємо, проходить через JNI-обгортку, щоб викликати саму С-нативну функцію У більш ранніх версіях Android при цьому споживалася маса памяті, але в пізніших версіях все стало набагато краще Як ви бачите самі, цей вплив не так вже помітно, особливо якщо операції займають більше часу, ніж запуск виклику

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*