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

Aktuelle Zeit: Mo Jul 28, 2025 22:02

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 75 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 13:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Du siehst mich ein wenig verwundert. :shock:
Ich habe auch noch mal nachgeschaut wie es in der Spec von GL_ARB_texture_cube_map steht. Und da ist es genau so beschrieben wie ich es gemacht habe. Laut delphi3d.net hat deine Karte 1.3 als OpenGL Version. Ab dem Zeitpunkt ist die CubeMap auch in den Core gewandert und muss somit unterstützt werden.

Ich an deiner Stelle würde mal den neusten Treiber drauf ziehen. Ich finde das reichlich merkwürdig, da ich das auf verschiedenen Systemen schon ausprobiert hatte. Und das waren alles ATI Karten. Und das sich ein Rechner bei so etwas aufhängt ist alles andere als Normal. Auch wenn es vollkommen falsch wäre.

PS: Evtl wäre es nicht schlecht, wenn du dir auch mal das CubeMapDemo von sulaco anschaust. Die machen eigentlich auch nichts anderes als ich aber die haben eine echse dabei. Wenn die auch nicht funzt, dass ist was ganz anderes im argen.

PPS: Macht deine Karte eigentlich bei irgendwelchen Spielen Probleme?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 14:44 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Zitat:
Macht deine Karte eigentlich bei irgendwelchen Spielen Probleme?

Hitmen 1,2; SplinterCell; RiseOfNations; Nexuiz;Quake 2 ;) ;AOE 1,2; usw., kein Problemm.
Es stürtz nicht ganz ab, ich habe mich falsch ausgedrückt. Es kommt aber als würde man die Auflösung ändern und dann sagt der Monitor "VGA Mode not Supported", dann hängt alles etaw 2-3 sec., dann kommt das Ganze wieder zu sich und meine Anwendung ist schon geschlossen.
Es kommt keine Fehlermeldung von atiglXXX.dll oder Windows selbst.
Und es gibt keine Fehler in log ( glGetError() ).
Und ja, ich ändere in meiner Anwendung die Auflösung NICHT.

Ich werde das Demo anschuen.

Edit: Treibers sind UpToDate.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 15:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Okay. Dann weiß ich auch nicht was man da noch machen könnte.

Das ist wahrscheinlich genau so ein phänomen wie mein erster Direct3D Versuch von vor 4 Jahren. Auf 5 Rechnern lief es perfekt ohne anstalten zu machen und auf dem 6ten ohne auch nur mit der Wimper zu zucken bekam Windows 2k gleich nen Bluescreen. :?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 15:30 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
"VGA Mode nit supported" - ist das nicht meist ein problem mit der wiederholfrequenz? das is bei siedler 3 u. 4 nänmlich auch ein problem bei mir, in niedriger auflösung gehts, aber wenn man höherschaltet(wo ja die maximalfrequenz des monitors zurückgeht), kommt diese meldung.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 15:55 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Hmmm....
Ich weiss nicht. Vielleicht bin ich zu müde.
Die Demos von sulaco funktionieren einwandfrei ( cube maping demo und dynamic cube maping demo :shock: ).
....no comment... :roll:

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 10:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Leider kann ich dir gerade auch keine Exe mit anbieten, aber das bitte einfach mal übersetzen und starten. Sollte so ohne weiteres eigentlich gehen.

Ich hatte auch noch mal geschaut. Sulaco benutzt 6 getrennte Texturen und bindet die einzelnen Untertexturen (GL_TEXTURE_CUBE_MAP_POSITIVE_X etc.). Ich hingegen benutze die GL_TEXTURE_CUBE_MAP und die Untertexturen nur zum Übertragen der Bilddaten. Was laut Spec auch so angegeben wurde.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 10:54 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Danke für die Code, es hilft und funktioniert. Wenn ich den Fehler in meiner Anwendung gefunden habe, dann sage ich es auch ;).

Eine Bemerkung, ein Vorschlag oder gar Freedback hätte ich noch im Bezug auf glBitmap.pas.
Vielleich ginge es schneller so:
Code:
  1. function IsPowerOfTwo(Val:Integer):Boolean;
  2. begin
  3.  while (Val mod 2=0) do Val := Val div 2;
  4.  Result := Val = 1;
  5. end;



EDIT:
So getestet:
Code:
  1. procedure TForm1.Button1Click(Sender: TObject);
  2.  var i:Integer;
  3.      t1,t2,f:Int64;
  4.      s:string;
  5. begin
  6.  Randomize;
  7.  QueryPerformanceFrequency(f);
  8.  
  9.  QueryPerformanceCounter(t1);
  10.    for i:=0 to 1000000 do
  11.      IsPowerOfTwo(Random(MaxInt)); // Loosy´s
  12.  QueryPerformanceCounter(t2);
  13.  
  14.  s := Format('%0.18g',[abs(t1-t2)/f]);
  15.  
  16.  QueryPerformanceCounter(t1);
  17.    for i:=0 to 1000000 do
  18.      IsPowerOfTwo_(Random(MaxInt)); // meine
  19.  QueryPerformanceCounter(t2);
  20.  
  21.  Caption := 'LoosyEx: ' + s + '  Meine: ' + Format('%0.18g',[abs(t1-t2)/f]);
  22. end;

Ist meine F. weit überlegend. ( 0,0379 sec gegen 0,26404 sec ) ;)
Ob dies ein Vorteil ist hängt davon ab ob man es wirklich so eilig hat. Ich denke eher nicht.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Zuletzt geändert von sniper am Fr Jun 10, 2005 11:37, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 11:16 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Okay. Das beruhigt mich ja schon, dass wenigstens das jetzt bei dir läuft. :-)

IsPowerOfTwo: Ja da könntest du durchaus recht haben. So sucht er nur bis zum ersten Bit. Ich benutze aber keine Arithmetischen sondern Bitoperatoren. Habe jetzt ein Weg dazwischen gewählt. ;-)

PS: Tu dir keinen Zwang an und mache ruhig Vorschläge für den restlichen Code. Also die Stellen an denen de Bilder geladen werden etc.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 13:04 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
probier mal das:
Code:
  1.  
  2. function IsPowerOfTwo(Val:Integer):Boolean;
  3. begin
  4.   while not (Val and 1) do Val := Val shr 1;
  5.   Result :=Val = 1;
  6. end;
  7.  

Kann sein, dasses dann evtl noch schneller geht, weil meiner Meinung nach der shr Befehl weliger interne Zyklen im Proc braucht, als Div und das Bitweise und schneller ist als eine Modulo und ein Vergleich. Bei Assembler isses definitiv schneller.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 13:44 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
div wird vom Compiler in shr umgesetzt, wenn es sich dabei um einer Zweierpotenz handelt.
Aber man kann auch ganz ohne Schleife.

result := ((Val and (Val-1))=0) and (Val<>0);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 14:01 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Da merkt man glatt, dass du schon sehr viel und ich (noch) zuwenig mit Assembler programmiert hast. In den Hochsprachen wird man einfach zu sehr verwöhnt, da kommt man garnicht mehr auf solche Ideen :wink:

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 14:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ähm. Ich will ja nicht unken. Aber das ist ein Stück code der gerade 2 Mal pro Texturengenerierung aufgerufen wird. Da könnte ich sogar noch nen Sleep einbauen und es würde keiner merken. ;-)

Wenn jemand etwas tun möchte, dann bin ich für Performancevorschläge bei allem anderen dankbar. Die wohl gemerkt nichts an der derzeitigen Struktur ändern. Das ist eine Anspielung darauf, dass man TGA's und PNG's auch schneller (ohne umweg) laden könnte.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 14:52 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn das Texturladen noch schneller gehen könnte wär das super. Bei einem Projekt, was ich in kürze mal hier vorstellen will, ist der Start durch das laden der Texturen ganz schön Zeitraubend. Bin da sehr gespannt, wie du deinen Loader noch optimierst.

Aber man sollte mal diesen Thread hier aufsplitten: In den Teil der was mit dem Tut zu tun hat (was nochmal überarbeitet werden sollte... :? ) und dem Loaderteil.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 15:15 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Ich muss mich ersmal entschuldingen für die OT, aber @Sidorion, deine Variante ist doppelt so schnell. :shock:

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 15:21 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
@Flash: Bin für Vorschläge jederzeit offen. Aber ehrlich wüsste ich nicht was ich daran noch optimieren könnte.

@Thread: Japp. Da könntest du recht haben ist ein wenig vom Thema abgekommen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 75 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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 ]