![]() |
Re: Conway's Game Of Life (GoL); auch noch von mir
Zitat:
|
Re: Conway's Game Of Life (GoL); auch noch von mir
Die Fehlermeldung komm ja, wenn nicht genug Speicher verfügbar "war",
also es wird dann kein Speicher mehr reserviert und im Taskmanager kann man da garnichts erkennen. Debugge doch einfach mal die entsprechenden Stellen und schau wo/wann es genau "knallt". |
Re: Conway's Game Of Life (GoL); auch noch von mir
Diese Meldung ist mir ab und an begegnet, wenn ich mit GDI Ressourcen etwas großzügig wurde. Erstellst du evtl. oft und schnell hintereinander Bitmaps o.ä. neu? Wenn ja, versuch mal immer nur ein Mal zu erstellen, und dann immer wieder neu befüllen, statt schnellles Spiel aus .Free und .Create.
|
Re: Conway's Game Of Life (GoL); auch noch von mir
Problem mehr oder weniger gelöst: Habe jetzt die Image-/PaintBox-Größe auf 3000 Pixel beschränkt. Bei mir kam immer erst danach der Fehler.
.free und .create habe ich hier selber eigentlich garnicht verwendet (ist wie gesagt ein älteres Programm, das ich bearbeitet habe und damals kannte ich das noch nicht so). |
Re: Conway's Game Of Life (GoL); auch noch von mir
Aha! Okay, das heisst dass dein Bitmap (oder wo auch immer du drauf zeichnest) einfach riesig geworden ist. Das erklärt das auch, da diese seitens Windows gewissen Grenzen unterworfen sind. Die "saubere" lösung wäre hier PaintBox/Bitmap/Image selbst auch wirklich nur genau so groß zu halten wie den tatsächlich sichtbaren Bereich, aber nur das hinein zu zeichnen was man gerade sehen soll. Das heisst dass du das Scrolling nicht "faul" (überspitzt gesagt) den Steuerelementen überlassen, sondern das selbst in die Hand nehmen solltest. Das wäre auch der übliche Weg bei allen möglichen grafischen Angelegenheiten. (Auch bei Direct3D z.B. wird mittels teilweise sehr aufwendigen Methoden im Vorfeld bestimmt welche Elemente man überhaupt sehen wird, bevor sie an DX zum Zeichnen geschickt werden. Auf lange Sicht zahlt sich das generell mächtig aus, in Ressourcensparsamkeit und oft auch Geschwindigkeit.)
|
Re: Conway's Game Of Life (GoL); auch noch von mir
Schade, das hört sich ziemlich aufwändig zu programmieren an...
Ich stell mir das jetzt so vor: Ich hol das Image und die PaintBox aus der ScrollBox raus und mache unten und rechts je eine ScrollBar hin. Dann müsste ich wahrscheinlich den Maximalwert der ScrollBars immer an den Array anpassen, etwas davon abziehen, damit man plötzlich nicht garnichts mehr sieht und im OnPaint nur ab deren Positionen zeichnen. Mit irgendeinem Anderen Regler könnte man dann die Zellengröße bestimmen... Ist das so im Ansatz richtig? Heute werde ich aber höchstwahrscheinlich wegen der Schule keine Zeit mehr dafür haben. Mal sehen, wie das Wochenende aussieht. |
Re: Conway's Game Of Life (GoL); auch noch von mir
Also so wie ich das gelesen habe stimmt das ;)
Also wenn du nur die Pixel X=10-20 und y=5-15 sehen kannst, dann zeichnest du nur diese Pixel, aber rechnest natürlich immer mit allen Pixeln! MfG xZise |
Re: Conway's Game Of Life (GoL); auch noch von mir
So, erstmal großes Dankeschön an alle! Die eigene 'ScrollBox' dürfte soweit fertig sein und funktioniert bei mir bis jetzt wunderbar :-D .
Zwischenzeitlich habe ich sogar noch Zeit gefunden, das Schnellstartmenü etwas zu erweitern und in beide Menüs eigene kleine Icons einzufügen. Ich hoffe, es gefällt euch! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz