processing / processing/processing4
curveVertex() causes OutOfMemory in P2D renderer
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 494
- Forks
- 183
- Ø Merge
- 4 Std. 39 Min.
- Gemergte PRs (30 T.)
- 3
Beschreibung
Created by: Real-John-Cheung
Description
curveVertex() causes java.lang.OutOfMemoryError: Java heap space error when the vertex amount is big in P2D render. With the default Java2D render it works fine.
void setup(){
size(800,800, P2D);
beginShape();
for(int i = 0; i < 26000;i ++){
curveVertex(i * 0.1, 100);
}
endShape();
}
Above sketch crashes due to OutOfMemoryError, below sketches can be executed without problem:
void setup(){
size(800,800);
beginShape();
for(int i = 0; i < 26000;i ++){
curveVertex(i * 0.1, 100);
}
endShape();
}
void setup(){
size(800,800, P2D);
beginShape();
for(int i = 0; i < 2000;i ++){
curveVertex(i * 0.1, 100);
}
endShape();
}
Your Environment
- Processing version: 4.3
- Operating System and OS version: macOS 14.4.1
- Other information: on a Intel Mac
Possible Causes / Solutions
Might have something to do with how Catmull-Rom splines is calculated in P2D?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den bereitgestellten Processing-4.3-Sketch mit dem P2D-Renderer auszuführen und 26,000 und 2,000 Aufrufe von curveVertex() sowie die Java2D-Version zu vergleichen. Verfolge die Einstiegspunkte beginShape(), curveVertex() und endShape() durch den P2D-Renderer. Als abgeschlossen gilt die Aufgabe, wenn der große Sketch den Java heap nicht mehr erschöpft und dabei die erwartete Kurvenausgabe erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- computer-graphics
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100