![]() |
Programm an CPU-Kern binden
Hallo Delphianer,
ich benutze in einem Spiel von mir den Performancecounter um flüssige Bewegungen darzustellen. Der Performancecounter läuft ja bekanntlich nicht auf allen CPU-Kernen synchron, daher kommt es manchmal zu Rucklern, wenn das Programm von Windows zwischen den Kernen verschoben wird. Wenn ich das Programm mit dem Taskmanager an einen Kern bindet, läuft es flüssig. Wie stellt man das per Programmcode an? Am liebsten wäre es mir sogar, wenn man Windows irgendwie sagen könnte, dass das Programm "nur im Notfall" oder z.B. maximal alle 2 Sekunden verschoben werden darf, statt den Kern fest vorzugeben. Ich konnte über die Suche und Google nichts dazu finden. Vielen Dank |
Re: Programm an CPU-Kern binden
In der CLR heißt diese Funktion SetThreadAffinityMask, also wirst du vermutlich unter "thread affinity" etwas brauchbares finden.
|
Re: Programm an CPU-Kern binden
|
Re: Programm an CPU-Kern binden
Zitat:
welchen denn? der QueryPerformanceCounter ist aber kernunabhängig und was RDTSC (Read Time-Stamp Counter) betrifft ... vielleicht solltest du dir diese vorgehensweise nochmals überdenken. meine CPU ist z.B. dynamisch getaket und selbst wenn du nun dein Programm an einen der Kerne bindest läuft somit der CPU-Counter (RDSTC) nicht gleihmäßig, da sich ja der CPU-Takt und somit auch der Takt des Time-Stamp-Counterständig ändert :zwinker: |
Re: Programm an CPU-Kern binden
Danke euch für die Antworten.
Ich habe jetzt noch ![]() Zitat:
![]() Kann hier mal jemand Klarheit schaffen? |
Re: Programm an CPU-Kern binden
Zitat:
![]() Zitat:
|
Re: Programm an CPU-Kern binden
hmmm, ich dachte eigentlich bisher das Teil wäre unabhängig, hab aber nochma schnell nachgesehn :shock:
Zitat:
nja, zumindestens sollte dessen Takt hoffentlich nicht von dynamisch getakteten CPU beeinflußt werden ... hoff ich mal ... hab's nie getestet, da ich ja dachte es wäre unabhängig :angel2: |
Re: Programm an CPU-Kern binden
Zitat:
Zitat:
|
Re: Programm an CPU-Kern binden
Zitat:
|
Re: Programm an CPU-Kern binden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 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