Atölye › Mario Tarzı Platform › 21/37. adım
Hâlâ 64 sütunun hepsini çiziyoruz, oysa ekranda aynı anda ancak ~21'i görünüyor. Kalanlar ekranın dışına çiziliyor ve boşa gidiyor. Kamerayı bildiğimize göre yalnız görünen sütunları çizebiliriz. Buna culling (ayıklama) denir; dev bölümler bu sayede hızlı kalır.
Ekranda bir fark görmeyeceksin; ama bilgisayar üç kat daha az iş yapıyor.
```js
// Only draw the columns that are on screen.
const first = Math.floor(camera / TILE)
const last = Math.min(COLS - 1, first + Math.ceil(canvas.width / TILE))
for (let row = 0; row < ROWS; row++) {
for (let col = first; col <= last; col++) {
```const first = Math.floor(camera / TILE) → ekranın sol kenarındaki sütun. Kamera 692'deyse 692 / 32 = 21.6 → 21.Math.ceil(canvas.width / TILE) → Math.ceil yukarı yuvarlar: 640 / 32 = 20. Kenarda yarım görünen sütunlar
için first'ten first + 20'ye kadar 21 sütun çizeriz.Math.min(COLS - 1, ...) → son sütun bölümün dışına taşmasın (en fazla 63).for (let col = first; col <= last; col++) → iç döngü artık yalnız bu aralıkta; <= çünkü last da çizilecek.draw içinde for (let row = 0; ...) satırının üstüne yorum satırını, first ve last satırlarını yaz.for (let col = first; col <= last; col++) yap.Beceriler: Canvas üzerine çizim