processing / processing/processing4

rounded rectangle performance in P2D / P3D is extremely poor when stroke is used

Aperta
#1,566 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

lower priority
Lingua principale
Java
Stelle
494
Fork
183
Merge medio
4h 39m
PR unite (30g)
3

Descrizione

Image

MacBook Air M3
Processing 4.5.6 (but also older versions apply)

This runs at around 8.5 fps.

void setup() {
  size(800, 800, P2D);
  frameRate(999);
}

void draw() {
  background(0);

  int cols = 16;
  int rows = 16;
  float margin = 50;
  float gap = 10;

  float rectW = (width - margin * 2 - gap * (cols - 1)) / cols;
  float rectH = (height - margin * 2 - gap * (rows - 1)) / rows;

  fill(255, 220, 0);
  stroke(255);
  strokeWeight(2);
  
  for (int y = 0; y < rows; y++) {
    for (int x = 0; x < cols; x++) {
      float px = margin + x * (rectW + gap);
      float py = margin + y * (rectH + gap);

      rect(px, py, rectW, rectH, 10);
    }
  }

  println(frameRate);
}

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia eseguendo lo sketch Java fornito in Processing 4.5.6 e confronta il frame rate con stroke abilitato e disabilitato, sia in P2D che in P3D. Traccia il percorso di rendering dei rettangoli arrotondati utilizzato da queste modalità; il lavoro è completato quando la riproduzione non mostra più il grave rallentamento segnalato, preservando al contempo i rettangoli arrotondati con stroke.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
computer-graphics, performance
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.