Adaptiv plitkani yangilash - Adaptive tile refresh

Adaptiv plitkani yangilash a kompyuter grafikasi uchun texnika yonma-yon o'tish video o'yinlari. Bu eng mashhur tomonidan ishlatilgan id dasturi "s Jon Karmak kabi o'yinlarda Qo'mondon Kin 1990-yillarning boshlarida shaxsiy kompyuterlarning yomon grafik ko'rsatkichlarini qoplash uchun. Uning asosiy yangiligi - bu bir nechta yangi foydalanish EGA apparatda aylantirishni amalga oshirish uchun apparat xususiyatlari. Texnika boshqa jihati, har bir freymda qayta chizish hajmini minimallashtirish uchun ko'chirilgan grafik elementlarni kuzatib borish uchun nomlangan. Birgalikda, bu butun ekranni qayta chizish uchun talab qilinadigan ishlov berish vaqtini tejaydi.[1]:50 Karmak dasturiy ta'minot dvigatelini 1970-yillarning katta tasvirlari uchun harakatlanuvchi displey asosida yaratgan.[2]

Chunki CGA (oldingi kompyuter grafikasi texnik vositalarining oldingi avlodida) apparatni siljitish uchun funktsiyalar mavjud emas, avval aylantirish dasturiy ta'minotda, har bir kadr uchun butun ekranni qayta chizish orqali amalga oshirilishi kerak edi - o'sha paytdagi kompyuterlar bajarishi mumkin bo'lmagan vazifa. Adaptiv plitka yangilanishi, yon panelli o'yinlar uchun zarur bo'lgan hisoblash quvvatini mavjud bo'lgan apparat darajasiga qadar kamaytiradi. Bu bitmap plitalarini belgilash va ekrandagi faqat yangilanadigan grafikalarni qayta chizish orqali ishlaydi.[3]

Tarix

Uskunani siljitish yordamida plitkalarni moslashuvchan yangilash birinchi marta chiqmagan sinov o'yinida dublyaj qildi Mualliflik huquqining buzilishidagi xavfli Deyv, Karmak tomonidan amalga oshirilgan. "SarlavhasiXavfli Deyv "tomonidan ilgari ishlatilgan Jon Romero o'yinlarni dasturlash paytida Softdisk. Yangi o'yin - bu birinchi darajadagi dam olish Nintendo "s Super Mario Bros.3, moslashuvchan plitkani yangilash kontseptsiyasi uchun haqiqiy sinov yotoqxonasi sifatida mo'ljallangan va bir hafta ichida ishlab chiqilgan. Softdisk-da ishlayotgan bo'lajak id Software xodimlari jamoasi keyinchalik butun tarkibini qayta tikladilar Mario o'yin, Nintendo kompyuter uchun o'yinni litsenziyalashiga umid qilmoqda. Nintendo id Software tugagandan so'ng o'yinni chiqarish taklifini rad etdi.[4][5][1]

Carmack-ning moslashuvchan plitalarini yangilashning birinchi bozor ko'rinishi id Software-ning birinchi qismida paydo bo'ldi Qo'mondon Kin o'yinlar seriyasi, Marsda marooned.

Texnik ma'lumotlar

EGA plitkalarini moslashuvchan yangilash effektini ta'minlaydigan bir nechta xususiyatlarga ega:

  1. The ekran buferi ekranga nisbatan biroz kengroq bo'lishi va o'zboshimchalik bilan baland bo'lishi mumkin video xotira cheklovlar.
  2. Ekran chizilgan bu bufer ichidagi pozitsiyani gorizontal yoki vertikal ravishda 1 piksel o'sish bilan qoplash mumkin.
  3. Ikkita ekran tamponini saqlash uchun etarli bo'lgan video xotiraga ega va hali bo'sh joy mavjud plitkalar va spritlar.

Karmak bu imkoniyatlardan foydalanib, ekranga nisbatan 64 piksel kengroq va balandroq bufer yaratib, ekranning chetidan buferda ikkita qo'shimcha qator va plitka ustunlari uchun joy qoldirdi. U silliq siljish uchun ekranning bufer orqali siljishini ta'minlash uchun kartaning ofset imkoniyatlaridan foydalangan, bu qo'shimcha plitkalarni qisman ochib beradi.

O'tkazish bufer o'lchamlari bilan cheklangan va buferning boshqa tomonidagi ma'lumotlarni ko'rsatish uchun atrofni aylantirish. Shunday qilib, butun sathni siljitish uchun, agar aylantirish butun bir plitka qiymatiga teng bo'lsa, Karmakning kodi keyingi satrlarni satrdan buferga tortadi, bu ekranning chekkasida joylashgan bo'lib, ekranga chiqishga tayyor aylantirish shu yo'nalishda davom etadi.

Ammo har qanday vaqtda faqat ekranning chekkalari qayta chizilganligi sababli, darajadagi spritlar ekranning chetiga etib borguncha qayta chizilmaydi. Bunga qarshi turish uchun kod harakatlanuvchi sprite ilgari qaysi plitalarni yopib qo'yganligini hisoblab chiqadi va eski sprite tasvirini o'chirish uchun ularni qayta chizadi, so'ngra yangi sprite tasvirini yangi holatiga keltiradi. Bu shpritslarni harakatlanishdan mustaqil ravishda minimal hisoblash kuchi bilan jonlantirishga imkon beradi.

Spritni shu tarzda harakatlantirish avval o'chirishni va keyin qayta chizishni o'z ichiga olganligi sababli, o'chirilgan sprite tasviri qisqa vaqt ichida ko'rinib, miltillashga olib kelishi mumkin. Karmak texnikasining yakuniy qismi aylantirish uchun ishlatiladigan xuddi shu EGA apparati xususiyatlaridan foydalanishdir ikki tamponlash: birinchi bufer ekranda ko'rsatilayotganda kodni tortishi mumkin bo'lgan ikkinchi buferni o'rnatish, keyin ekranni yangilash paytida o'chiriladi. Bu hech qanday kvadrat hech qachon o'rtada chizilmasligini ta'minlaydi, bu esa silliq va ravshan animatsiyani beradi.

Adabiyotlar

  1. ^ a b Kushner, Devid (2004) [2003]. Doom Masters: ikki yigit qanday qilib imperiya tuzdilar va pop-madaniyatni o'zgartirdilar. Nyu-York, NY: Random House, Inc. ISBN  9780375505249. OCLC  50129329.
  2. ^ Kushner, Devid (2002 yil 1-avgust). "Video o'yin dasturiy ta'minot sehrgarligi". IEEE Spektri. Olingan 13 aprel, 2018.
  3. ^ Aycock, John (2016 yil 9-may). Retrogame arxeologiyasi: Eski kompyuter o'yinlarini o'rganish. Springer. p. 45. doi:10.1007/978-3-319-30004-7. ISBN  978-3-319-30004-7. S2CID  20655963. Olingan 27-noyabr, 2017.
  4. ^ Super Mario Bros. 3 Demo (1990). Jon Romero. 1990 yil. Olingan 15 dekabr, 2015.
  5. ^ Orland, Kayl (2015 yil 14-dekabr). "Mana Mario Software 3-ning shaxsiy kompyuter porti qanday ko'rinishi mumkin edi". Ars Technica. Olingan 15 dekabr, 2015.