Autor Beitrag
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Sa 29.12.12 00:03 
Moin,

Dein Programm nutzt zwei Kerne. Sehen kann man das im Taskmanager bzw. Ressourcenmonitor (Win8).

schach

LG
Einloggen, um Attachments anzusehen!

Für diesen Beitrag haben gedankt: Mathematiker
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Sa 29.12.12 00:40 
Jetzt bin ich ein wenig verblüfft, ja geradezu irritiert.

Mathematiker, für Dich ist es tatsächlich eine Neuigkeit, daß Dein Programm (mindestens?) zwei Prozessoren / Prozessorkerne nutzt? Das müßtest Du doch am besten wissen, da Du der Programmierer bist und ohne explizites Ansprechen zweier Kerne (und sei es nur, daß zwei Threads vorhanden sind, aber jeden Thread extra muß man ja auch mehr oder minder mühsam programmieren) immer nur ein Prozessor(kern) benutzt wird (werden kann)!

Edit: Oder ist das eine Eigenheit des neuen Windows?
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Sa 29.12.12 09:27 
Hallo Delphi-Laie,
ganz habe ich Dich nicht verstanden, tut mir leid.
Mein Problem war, dass ich mit zwei Threads bisher nichts zu tun hatte. Zwar ist mir weiter oben erklärt worden, dass Windows automatisch verteilt, aber Wissen ist nicht Sehen.
Dazu kommt, dass ich auch jetzt die ganze Problematik mit diesen Threads noch nicht richtig verstanden habe. Vor wenigen Wochen war ich noch felsenfest der Meinung, dass mit meinem Delphi 5 niemals zwei CPUs beschäftigt werden könnten. So kann man sich täuschen. Ich muss noch viel lernen.

Meine Frage war, wo ich überprüfen kann, dass tatsächlich zwei Kerne angesprochen werden. Wahrscheinlich kann man es auch bei meinem Vista kontrollieren. Ich weiß nur nicht wie.
Wenn nicht zwei Kerne genutzt würden, wäre das ein Hinweis darauf gewesen, dass ich etwas falsch gemacht habe. Und das ist bei mir jeder Zeit möglich.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Sa 29.12.12 09:51 
Hallo Mathematiker,

Ist zwar Off-Topic, aber um zu prüfen ob ein Programm mehrere Kerne nutzt kann man meiner Meinung nach folgendes Verfahren anwenden:
Dem Programm Last geben und in einem geeigneten Programm (z.B. Taskmanager) die CPU Last prüfen. Sobald diese mehr als 100%/Anzahl vorhandener Kerne ist nutzt das Programm definitiv mehrere Kerne. Solange die Last unter dieser Grenze bleibt kann keine Entscheidung getroffen werden, da das Betriebssystem die Last verteilt. Nachteil an dieser Methode ist, das ein Mehrkernsystem benötigt wird und eine Ausage ob mehr als 2 Kerne genutzt werden schwierig sind (Grenzwert entsprechend anpassen).

Guten Rutsch,
Tilo

Für diesen Beitrag haben gedankt: Mathematiker
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Sa 29.12.12 12:10 
Hallo Mathematiker, dafür habe ich Dich verstanden: Dir war nicht klar, daß Dein Programm mehr als einen Thread benutzt, und für den Nachweis danktest Du. Dann sind es aber von Windows zusätzlich eingerichtete Threads. Delphi produziert, soweit mir bekannt, nur den VCL-Thread. Jeder weitere Thread muß extra programmiert werden, er ensteht nicht von allein. Und das kann man schon mit Delphi 2. Da Delphi 2 im wesentlichen die 32-Bit-Version von Delphi 1 ist, wird es wahrscheinlich auch schon Delphi 1 können. Hilfreich dazu sind [url=www.michael-puff.de/...eads_mit_Delphi.pdf]Luckies Anleitung[/url] und ggf. auch [url=www.michael-puff.de/...it_Delphi_Demos.zip]seine Beispielprogramme[/url].

Man kann die Threads (im Gegensatz zu Prozessen) auch einzelnen Prozessor(kern)en explizit zuordnen bzw. gegenüber einzelnen sperren. Dazu eignet sich z.B. mein Programm "Prozesse", das allerdings bezüglich der Prioritätensetzung der Threads noch fehlerhaft ist (in den nächsten Tagen werde ich die korrigierte Version hier veröffentlichen).

Für diesen Beitrag haben gedankt: Mathematiker
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: So 30.12.12 00:32 
Hallo Mathematiker, ich bitte um Nachsicht: Die Prozessoerenzuordnung gibt es sowohl für die Prozesse als auch für die Threads, allerdings ist die Prozessorenzuordnung die übergeordnete. Zusätzlich gibt es bei den Threads noch die Festlegung des Idealprozessors. Mit dem Verteilen der Rechenleistung des Prozesses und/oder seiner Threads kannst Du mit meinem schon erwähnten Programm experimentieren, das klappt sogar (wenigstens bei mir). Dennoch: Ein einzelner Thread wird nicht dadurch schneller, daß er auf zwei Prozessor(kern)en verteilt wird und mithin (scheinbar) gleichzeitig läuft, denn es gibt auch hierbei keine Gleichzeitigkeit.
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2510
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: So 30.12.12 12:52 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
so, jetzt glaube ich auch den 2.galagher-Wunsch gelöst zu haben.
Das Programm gibt nun (bis auf den allerersten Zug) auf Wunsch auch einen Zugvorschlag.
:D Vielen Dank!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 30.12.12 23:45 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
:D Vielen Dank!

Gern geschehen. Wenn Du weitere Wünsche hast, immer her damit. Wenn ich es umsetzen kann, mache ich es gern.

In der Revision 5 habe ich noch eine kleine Änderung vorgenommen. In der Zugliste wird jetzt immer zum letzten Zug gescrollt.
Es hat mich von Anfang an gestört, dass nach jedem Zug immer wieder die ersten 4 1/2 Züge sichtbar angezeigt wurden. Warum ist das jetzt erst ändere, ich weiß es nicht. :nixweiss:

Übrigens habe ich heute nachmittag gegen Microsoft "Chess Titans" mein Programm antreten lassen. Bei der Einstellung Spielstufe 5 gegen die Voreinstellung 6 bei Microsoft hat meine "Kreation" von fünf Partien drei gewonnen, obwohl die Rechenzeit bei den "Schach-Titanen" länger war.
Natürlich fehlt meinem Programm die tolle grafische Umsetzung. Stolz bin ich aber trotzdem. :wink:

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2510
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mo 31.12.12 11:03 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Gern geschehen. Wenn Du weitere Wünsche hast, immer her damit. Wenn ich es umsetzen kann, mache ich es gern.
Na, wenn du das schon extra ansprichst! :D Also, einen kleinen Wunsch hätte ich schon noch: Könntest du die Zug-Vorschläge neben der Anzeige als Schach-Notation auch grafisch auf dem Brett darstellen, zB. mit einem Rahmen um das Start- und das Zielfeld?

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Natürlich fehlt meinem Programm die tolle grafische Umsetzung. Stolz bin ich aber trotzdem. :wink:
1.: Mehr Grafik braucht ein Schachprogramm nicht, ich habe die 3D-Darstellungen des Brettes und die Ritter-, Pferde- und sonstigen mehr oder weniger naturalistischen Figuren bei anderen Schachprogrammen nie genutzt. Ich empfand das immer als ablenkend. Je nüchterner, desto übersichtlicher.
2. Stolz kannst du mit Recht sein!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 31.12.12 12:54 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
Könntest du die Zug-Vorschläge neben der Anzeige als Schach-Notation auch grafisch auf dem Brett darstellen, zB. mit einem Rahmen um das Start- und das Zielfeld?

Ist in der Revision 6 jetzt vorhanden.
Ganz glücklich bin ich noch nicht, da es im Moment nur zwei schmale farbige Rahmen sind. Vielleicht reicht es ja.
Für eine deutlichere Markierung muss ich an die Darstellungsroutine 'ran, und diese erheblich umbauen. Da muss ich mir noch etwas einfallen lassen.

Beste Grüße und einen guten Rutsch
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 01.01.13 17:02 
Hallo,
nachdem ich in einer höheren Spielstufe mehrfach erst ziemlich spät gemerkt habe, dass der Computer einen Zug ausgeführt hatte, habe ich jetzt eine Tonausgabe eingebaut.
Über Spielsteuerung | Tonausgabe kann nun eingestellt werden, dass der PC sich akustisch meldet, wenn er gezogen hat.
Dies ist natürlich nur bei Spielstufen mit längeren Denkzeiten interessant. :D

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 01.01.13 17:20 
Hallo Mathematiker, frohes Neues Jahr.

Kannst du das auch visuell (wie bei dem Zugvorschlag) machen, so daß man Start und Zielpunkt des letzten Zugs sieht (ich habe bisher immer "Zug zurück", "Zug weiter" benutzt)?

P.S. Ich muß sagen, ein echt gutes Schachprogramm :zustimm:
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 01.01.13 17:46 
Hallo Th69,
Danke. Ich wünsche Dir auch ein frohes Neues Jahr.
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Kannst du das auch visuell (wie bei dem Zugvorschlag) machen, so daß man Start und Zielpunkt des letzten Zugs sieht ... ?

Habe ich gerade in der Revision 9 geändert. Der letzte ausgeführte Zug wird mit einem hellgrünen Rahmen angezeigt.
Wen das stört, kann unter "Spielsteuerung | Letzten Zug markieren" dies ausschalten.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 01.01.13 18:04 
Vielen Dank!
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2510
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 01.01.13 22:14 
Von mir ebenfalls vielen Dank!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Do 03.01.13 17:24 
Hallo,
die Revision 10 habe ich insofern verändert, dass die Grundeinstellungen (Züge markieren, Tonausgabe, Spielstufe) gespeichert und wieder geladen werden.
Damit ist man nicht gezwungen, meine Voreinstellungen immer auf die eigenen Bedürfnisse umzustellen.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein

Für diesen Beitrag haben gedankt: Anika
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 13.01.13 11:17 
Hallo,
ich habe noch einmal am Schachprogramm ein paar Änderungen vorgenommen.

Zum einen ist die Suchtiefe für den Zugvorschlag um eine Stufe erhöht worden, zum anderen habe ich Veränderungen an der Gestaltung des Eingabebereiches durchgeführt. Meiner Meinung nach ist es etwas übersichtlicher.
Entsprechend der Hinweise unter "Ergonomische Fensteraufteilung" kann jeder jetzt auch den Einstellungsbereich über einen Menüpunkt dauerhaft nach links schieben.
Spielstand laden und speichern geht jetzt auch über das Menü; der Abbruch-Schalter wird nur noch angezeigt, wenn er von Bedeutung ist.
Außerdem gibt es zwei neue, interessante Varianten für die Anfangsaufstellung der Figuren.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
kaufmax
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 12.03.13 00:07 
Starke Leistung dein Programm.
Es hat heute 3mal gegen Freeware-Schach von Rolf Radtke gewonnen. Einmal nur 16 Züge!
Was für eine Schach-Engine steckt denn drin?

Max
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 12.03.13 15:45 
Hallo,
da es scheinbar doch neue Nutzer des Schachprogramms gibt, habe ich noch eine Ergänzung vorgenommen.
Über das Menü können im Moment 26 verschiedene Standarderöffnungen (u.a. Sizilianische Verteidigung, Königsgambit, Schottische Partie, ...) geladen werden.
Wenn ich etwas mehr Zeit habe, werde ich die Liste noch erweitern.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mi 05.02.14 19:59 
Hallo,
angeregt durch user profile iconFietes Schachproblemprogramm www.entwickler-ecke....ewtopic.php?t=112526 habe ich im ersten Beitrag unter schach2.zip mein vollständiges Schachprogramm (ohne Hilfedatei) angehängt, d.h. auch mit den Routinen zum Problemschach.

Das Programm enthält neben der Möglichkeit, Schach zu spielen, auch ein Teilprogramm zur Analyse von Schachproblemen.
Über den Menüpunkt Problemschach/Schachprobleme werden diese ein- und ausgeschaltet. In der Liste befinden sich 500 Schachprobleme. Dazu muss die Datei mschach.c00 beim ersten Start im Ordner der Exe liegen. Diese wird dann in das Arbeitsverzeichnis kopiert.
Wählt man einen Listeneintrag aus, zeigt das Programm die Ausgangssituation und die Anzahl der Züge, bis wann das Matt für Schwarz erreicht werden muss.

Mit dem Schalter Lösung sucht das Programm nach dem Gewinnzug.
Das Programm zeigt den ersten Zug für Weiß an. Möchte man die vollständige Zugfolge bis zum Matt untersuchen, so zieht man den weißen Zug, antwortet für Schwarz und lässt erneut eine Lösung finden usw.

Eingabe eines neuen Schachproblems

Möchten man selbst ein neues Problem eingeben, klickt man zusätzlich auf den Menüpunkt Neues Problem eingeben.
In das angezeigte Spielfeld werden die Spielfiguren eingetragen:
· Weiße Figuren werden mit Großbuchstaben gekennzeichnet.
· Schwarze Figuren erhalten Kleinbuchstaben.
· Die Spielfiguren Bauer, Läufer, Springer, Turm, Dame und König werden mit ihren Anfangsbuchstaben bezeichnet.
Eine so schöne Eingabemethode wie in Fietes Programm habe ich nicht. Leider.
Zusätzlich wird die maximale Zugzahl eingegeben. Mit dem Schalter Speichern wird das neue Problem in die Liste aufgenommen.

Beste Grüße
Mathematiker