Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mai 23, 2024 22:29

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 28 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 22, 2007 10:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich kann das mit den verschiedenen Geschwindigkeiten erklären und glaube ich auch eine Ursache dafür zeigen, zumindest im Hauptmenü:

Kann es sein, dass du bei jeder Mausbewegung einmal eine Selection durchführst? Das würde erklären, weshalb bei mir während Mausbewegungen das Menü total lahm läuft.

Zu den Tasten: Dass die EventHandler VK_UP/VK_DOWN nicht verarbeiten, ändert nichts daran, dass sie aufgerufen werden und somit das OnIdle-Event verzögern. Außerdem solltest du Done := False im OnIdle setzen, das ist wichtig.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 22, 2007 13:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Lord Horazont hat geschrieben:
Kann es sein, dass du bei jeder Mausbewegung einmal eine Selection durchführst?

Hm, das stimmt.

Zitat:
Das würde erklären, weshalb bei mir während Mausbewegungen das Menü total lahm läuft.

Dabei werden allerdings nur die etwa 130 Dreiecke für den Text 'gezeichnet'. Warum ist das dann so lahm?

Zitat:
Zu den Tasten: Dass die EventHandler VK_UP/VK_DOWN nicht verarbeiten, ändert nichts daran, dass sie aufgerufen werden und somit das OnIdle-Event verzögern.

Wenn du neben dem Aufruf 2 negative If-Abfragen als Verzögerung im Bereich mehrerer dutzend Frames siehst, könnte das stimmen.

Zitat:
Außerdem solltest du Done := False im OnIdle setzen, das ist wichtig.

Das hab ich nicht vergessen.

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 22, 2007 16:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich hatte schon immer das Problem auf meinem Rechner (auch mit einer anderen Graka) dass Selections sehr langsam liefen, daher waren sie bei mir auch nie eine alternative zur Koordinatenumrechnung.
Vielleicht ist da ja ein bestimmter Teil der Hardwarekonfiguration für Verantwortlich. Bei meiner alten GF 5xxx oder was das war konnte ich mir das ja noch mit dem etwas Out-Of-Date erklären aber meine 7600 sollte das doch schon etwas flüssiger schaffen...

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 22, 2007 22:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Nach einiger Recherche scheint das ganze ein Treiberproblem von nVidia, das selbst Maya oder Wings 3D betrifft, zu sein.
Siehe aus diesem Forum: viewtopic.php?t=5902
Siehe aus dem nZone Forum: http://forums.nvidia.com/index.php?showtopic=24035&hl=

Gemeinerweise findet sich im Wiki keinerlei Hinweis auf diese Problematik, sodass ich quasi ans offene Messer gecodet hab; ebenso fehlen da alternative Methoden.
Nun wäre das aber in 2D ja kein Problem, wenn die Selektion hier nicht ins Herzstück des Codes verwoben wäre, der sowieso nicht allzu arg geplant war, weshalb ich eher weniger Lust habe, die ganze Sache nochmal neu zu implementieren.
Da ich dieses Problem (trotz GF7900GT 512) nicht habe, ist alles was ich fürs Erste empfehlen kann, mal auf einen 16x.xx-(Beta-)Treiber upzudaten. Großes Sorry für dieses Problem.

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 22, 2007 23:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hi WhiteHunter,

Ich lade mir gerade mal den Treiber runter und versuche es nochmal, vielleicht geht es dann.

Ansonsten, vielleicht sollte man das mal an nVidia rapportieren. Falls der Treiber das nicht behebt, werde ich das mal tun, mal schauen, wie die reagieren. Ich werde auch auf jeden fall einen Hinweis ins Wiki schreiben.
//Edit: Ich sehe gerade, dass das anscheinend schon getan wurde... Naja, die masse machts :wink:
//Edit²: Habe im Wiki einen Hinweis eingefügt.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 24, 2007 16:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Mal ein kleiner Nachtrag zur Problematik:

Nachdem ich einigen anderen Kram implementiert hab, wollte ich mal eine alternative Selektionsmethode über FrameBuffer-Farben ausprobieren, die DNA mir empfohlen hat. Seitdem gibt es allerdings Bugs wohin ich schaue, teilweise unerklärliche, die nach einiger Zeit trotz keiner Änderung nicht mehr reproduzierbar sind. Anfangs hat die Selektionsmethode auch noch funktioniert, was jetzt seltsamerweise nur noch manchmal der Fall ist. Allerdings fehlt mir auch ein gescheites Debugsystem, das ich zwar schon bisschen geplant hab, aber hier nicht mehr zum Einsatz bringen kann.
Eine besonders lustige Sache finde ich jedoch, dass ein Call in der Selektionsmethode auf
Code:
  1. glReadPixels(X, VP[3]-Y, 1, 1, GL_RGB, GL_BYTE, @Buf);

den FPSCounter 3mal so schnell macht (der auf QueryPerformanceCounter basiert) :shock:. Dadurch wird das TBM im Vergleich zur Framerate 3mal so schnell, was genau das Gegenteil von dem ist, was ich eigentlich wollte. Allerdings schätze ich, dass es kein generelles Problem ist, sondern, dass es irgendwo im Code was geben muss, das zu diesem irrationalen Verhalten führt. Daher verzögert sich die 2. Betaversion wohl noch etwas.

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 24, 2007 19:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wie funktioniert dein Selektionsystem? Übergibst du einfach Pointer oder Indices als Farben? Dann könnte es sein, dass die Farbauflösung nicht groß genug ist.

Was dein TBM betrifft:
Wieso machst du das relativ zur Framezahl? Wieso benutzt du nicht die Zeit, die seit dem letzten Frame vergangen ist?

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 24, 2007 19:26 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Lord Horazont hat geschrieben:
Wie funktioniert dein Selektionsystem? Übergibst du einfach Pointer oder Indices als Farben? Dann könnte es sein, dass die Farbauflösung nicht groß genug ist.

Das habe ich vorhin auch rausgefunden ;) Zurzeit stellt sich irgendwie die Prozedur zum Fontzeichnen mit der Farbgebung quer, werd da weiter rumprobieren.

Zitat:
Was dein TBM betrifft:
Wieso machst du das relativ zur Framezahl? Wieso benutzt du nicht die Zeit, die seit dem letzten Frame vergangen ist?

Das hast du wohl falsch verstanden. Mein TBM sieht so aus:

In OnIdle:
Code:
  1.   FPS.Start;
  2.   if Game.TF > 0 then
  3.   begin
  4.     Game.Render;
  5.     SwapBuffers(DC);
  6.   end;
  7.   Game.TF := FPS.Count;


Code:
  1. constructor TFPSCounter.Create;
  2. begin
  3.   QueryPerformanceFrequency(fFreq);
  4. end;    
  5.  
  6. procedure TFPSCounter.Start;
  7. begin
  8.   QueryPerformanceCounter(fMeasA);
  9. end;
  10.  
  11. function TFPSCounter.Count: Single;
  12. begin
  13.   QueryPerformanceCounter(fMeasB);
  14.   Result := (fMeasB-fMeasA)/fFreq;
  15. end;


Die FrameRate war einfach ein handlicherer, bereits ausgegebener Wert (siehe hierzu auch die Info-Konsole, die bereits über TAB während der Anwendung erreichbar sein sollte).
Das seltsame ist ja, die echte FrameRate bleibt gleich, der Counter meint nur sie steigt ins astronomische.

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 25, 2007 08:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Schön, dass die runden Schläger eingebaut hast.
Ich denke das hebt den Spielspass doch enorm -> werde gleich mal testen ob dem auch so ist :wink:
Die fadenden Banden sehen auch sehr gut aus.
:P

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 25, 2007 09:12 
Offline
DGL Member
Benutzeravatar

Registriert: So Feb 06, 2005 17:29
Beiträge: 187
Programmiersprache: C, C++
Sieht sehr gut aus,
ich wuerde der Spielplatte und den Banden noch Tiefe verleihen, damit sie nicht wie Papier aussehen. Man koennte den Rand dann zum Beispiel mit nem schwarzgelben Warnmuster texturieren ...

Weiter so!

_________________
Flummi: Projektseite und Projektthread


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 26, 2007 20:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Mal schauen, inwiefern ich das noch mit der Tiefe der Komponenten hinbekomme. Eben ist mir aber ein Bug mitgeteilt worden... der Ball fliegt immer perfekt nach links beim Start... insbesondere für Precise Physics nicht geeignet... das passiert, wenn man vergisst, Debuggingkommentierungen wieder zu entfernen... da sich hier noch niemand beschwert hat, scheint es nicht so dringend zu sein, wird aber natürlich bald gefixt.

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 20, 2007 22:04 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
sehr nette neue features

Zitat:
- Memorix kann nun in verschiedenen Auflösungen betrieben werden.
Die Änderung wird aber erst nach einem Neustart übernommen. Eigentlich geht es auch zur Laufzeit, aber ich scheitere im Moment noch an einem (wahrscheinlichen) SDL-Bug. Auch nach Neuladen der Texturen werden keine angezeigt.


Das ist tatsaechlich ein Bug.. wenn du die Aufloesung aenderst, wird das Surface neu erstellt und deine Texturen verschwinden ins Nirvana. Ich glaube, ich hatte es irgendwann mal bei mir so geschrieben, dass direkt vom Reload des Surface alle Texturen freigegeben werden und danach neugeladen werden. Eigentlich hatte das gefunkt, aber im Grunde umschifft man damit nur einen Bug, der hoffentlich bald mal ausgemerzt wird.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 21, 2007 07:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ahm... Ich glaub ihr seid im falschen Thread. Hier gehts um Matrionx, nicht um Memorix :wink:
Das wäre der richtige Thread.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 28 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]