Oyna o‘lchami yoki ekran kengligini qisqartiring. Rasterizasiyalash vaqtini qisqartirishning oddiy usuli – chiziladigan piksellar sonini qisqartirish. Agar oynaning kichik o‘lchami yoki ekranning kichik kengaytmasi qabul qilingan bo‘lsa, unda bu rasterizasiyalash tezligini oshirish uchun yaxshi yo‘l hisoblanadi. [barchasi]
Teksturalash
Tekstura qo‘yish dasturiy va apparatli amalga oshirishlarda muhim operatsiya hisoblanadi.
Tasvirlarni saqlashning samaradorli formatlaridan foydalaning. GL_UNSIGNED_BYTE formati odatda OpenGL ga teksturalarni uzatish uchun ancha mos keladi.
Displey ro‘yxati yoki tekstura obyektlarida teksturalarni birlashtiring. Agarda siz bir qancha teksturadan foydalanayotgan bo‘lsangiz bu juda muhim va grafik nimtizimga videoxotirada teksturalarni joylashtirishni samarali boshqarish imkonini beradi. [barchasi]
Katta o‘lchamdagi teksturalarni ishlatmang. Katta bo‘lmagan teksturalarga tez ishlov beriladi va xotirada kam joy egallaydi, shu jumladan, grafik nimtizimiga barcha teksturani saqlash imkonini beradi. [barchasi]
Katta bo‘lmagan teksturalarni bittaga birlashtiring. Agar siz bir qancha kichik teksturalarni ishlatadigan bo‘lsangiz, ularni bitta katta o‘lchamdagiga birlashtirish va kerakli tekstura ustida ishlash uchun tekstura koordinatalarini o‘zgartirish mumkin. Bu teksturaning o‘zgarishi sonini qisqartirish imkonini beradi.
Animirlashtirilgan teksturalar. Agar siz animirlashtirilgan teksturadan foydalanmoqchi bo‘lsangiz, tekstura ko‘rinishini yangilamaslik uchun glTexImage2D buyrug‘idan foydalanmang. Buning o‘rniga glTexSubImage2D ili glTexCopyTexSubImage2D dan foydalaning.
Rang, chuqurlik, niqob buferlari va to‘plovchi buferni tozalash ko‘p vaqt talab qilish mumkin, ayniqsa OpenGL ni dasturiy amalga oshirishda. Bu bo‘limda ushbu operatsiyani optimallashtirishga yordam berishi mumkin bo‘lgan ba’zi usullar berilgan.
glClear buyrug‘idan ehtiyotkorlik bilan foydalaning. [barchasi] Kerakli barcha buferlarni glClear buyrug‘i yordamida tozalang.
Noto‘g‘ri:
glClear(GL_COLOR_BUFFER_BIT);
if (stenciling) /* niqob buferini tozalash kerakmi? */
{
glClear(GL_STENCIL_BUFFER_BIT);
}
To‘g‘ri:
if (stenciling) /* niqob buferini tozalash kerakmi? */
{
glClear(GL_COLOR_BUFFER_BIT |
STENCIL_BUFFER_BIT);
}
else
{
glClear(GL_COLOR_BUFFER_BIT);
}