Hui. Da ist ja ne Menge Cargo-Cult-Programmierung dabei. Dieses “leeren” von Variablen zb ist so wirksam wie ein Globuli bei Vollmond.
Welches ist denn das problematische Textfeld? codetextfeld? Und wer ruft write_loadfromusb auf?
Speicherverwaltung bei Programmausführung
Hi
Hier nützt das wahrscheinlich wenig... Ich habe einfach unter jeden Programmblock diesen Resetklotz gesetzt, um sicher zu gehen, dass sich nicht doch noch irgendwo her Überraschungen auftun (Fehler bei Variable-Belegung)
Aufgerufen wird dies von diesem Block:
Sieht doch soweit i. O. aus...
Gruss jts
PS. Das Problem-Textfeld ist "codetextfeld" - da es an Überfettung leidet...
Dieses “leeren” von Variablen zb ist so wirksam wie ein Globuli bei Vollmond
Hier nützt das wahrscheinlich wenig... Ich habe einfach unter jeden Programmblock diesen Resetklotz gesetzt, um sicher zu gehen, dass sich nicht doch noch irgendwo her Überraschungen auftun (Fehler bei Variable-Belegung)
Aufgerufen wird dies von diesem Block:
Code: Alles auswählen
# Einleitung der App-Knoepfe
class App:
def __init__(self, master):
frame = Frame(master)
frame.place(width=120, height=320, x=340, y=170)
# End-Button
self.poweroff = Button(frame,
text="► Beenden ◄", fg="black", pady=5, padx=5,
command=self.write_poweroff)
self.poweroff.pack()
# Code-Button
self.coding = Button(frame,
text="Verschlüsseln ►", fg="red", pady=5, padx=5,
command=self.write_coding)
self.coding.pack()
# Decode-Button
self.decoding = Button(frame,
text="◄ Entschlüsseln", fg="green", pady=5, padx=5,
command=self.write_decoding)
self.decoding.pack()
# Export-Button
self.savetousb = Button(frame,
text="USB - Export ▼", fg="black", pady=5, padx=5,
command=self.write_savetousb)
self.savetousb.pack()
# Import-Button
self.loadfromusb = Button(frame,
text="USB - Import ▲", fg="black", pady=5, padx=5,
command=self.write_loadfromusb)
self.loadfromusb.pack()
Gruss jts
PS. Das Problem-Textfeld ist "codetextfeld" - da es an Überfettung leidet...
@jake-the-snake: Speicher wird automatisch freigegeben, wenn er nicht mehr gebraucht wird, z.B. weil die lokalen Variablen am Ende einer Funktion abgeräumt werden. `usbfh` wird nicht verwendet. Man sollte kein `place` benutzen. Das eigentliche Problem dürfte sein, dass Du ständig Label und Images übereinander malst. Das alles muß bei jeder Cursorbewegung alles neu gezeichnet werden.
Dein Text besteht offensichtlich aus einer einzelnen langen Zeile. Mit einer einzelnen 64KB langen Zeile ist mein Programm auch langsam.
Mit einer normale Textdatei mit 60 MB (ca 650.000 Zeilen) geht das Scrollen flüssig.
Gruss, Oldboy
Mit einer normale Textdatei mit 60 MB (ca 650.000 Zeilen) geht das Scrollen flüssig.
Gruss, Oldboy
Abend zusammen
Ich wollte nur kurz Feedback geben:
Für Testzwecke habe ich mir den Fensterinhalt in vielen "Einzelzeilen" (\n) anzeigen lassen und nicht in einer einzigen "Zeile". Programmbedienung und Scrolling jetzt ohne Probleme oder sonstige Auffälligkeiten möglich.
Ich denke, dass bei einer langen Zeile, die der Windowmanager "tk" bei der Anzeige ja mehrfach am Textfeldende umbrechen muss, jede Menge zu tun hat. Wird dann so eine "Mammutzeile" auch noch gescrollt, kommt es wohl rechnerrisch an seine Grenzen.
OldBoy hat somit den Nagel auf den Kopf getroffen und erhält 100 Punkte
Sirius3 hat auch recht, aber die paar übereinander "gemalten" Bildchen fallen hier nicht so ins Gewicht.
Danke für Eure Aussagen, ohne die ich gar nicht auf die Idee gekommen wäre, das Problem bei den Zeilen zu suchen...
Gruss jts
Ich wollte nur kurz Feedback geben:
Für Testzwecke habe ich mir den Fensterinhalt in vielen "Einzelzeilen" (\n) anzeigen lassen und nicht in einer einzigen "Zeile". Programmbedienung und Scrolling jetzt ohne Probleme oder sonstige Auffälligkeiten möglich.
Ich denke, dass bei einer langen Zeile, die der Windowmanager "tk" bei der Anzeige ja mehrfach am Textfeldende umbrechen muss, jede Menge zu tun hat. Wird dann so eine "Mammutzeile" auch noch gescrollt, kommt es wohl rechnerrisch an seine Grenzen.
OldBoy hat somit den Nagel auf den Kopf getroffen und erhält 100 Punkte
Sirius3 hat auch recht, aber die paar übereinander "gemalten" Bildchen fallen hier nicht so ins Gewicht.
Danke für Eure Aussagen, ohne die ich gar nicht auf die Idee gekommen wäre, das Problem bei den Zeilen zu suchen...
Gruss jts