Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

21

12.02.2013, 19:12

Nope sorry. Ich meinte die Informationen der Hardware.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

22

12.02.2013, 19:23

Ansonsten ist der Pfad aber unbedingt zu nutzen. Sosehr ich BlueCobolds Ärger verstehen kann: Deine Anwendung hat ab Vista einfach keine Schreibrechte mehr im eigenen Programmverzeichnis. Du *musst* in ein AppData-Verzeichnis schreiben, sonst leitet Windows automatisch Deine Files dorthin um, nur noch schlimmer versteckt. Da das Logfile aber bei jedem Programmneustart eh neu angefangen wird, empfinde ich das auch nicht als so großes Problem.

Ich schreibe übrigens die aktuelle Subversion-Revision als erste Zeile ins Log. Wenn man dann Crash-Logs von einem Nutzer bekommt, ist es sehr praktisch zu wissen, mit welcher Version er gearbeitet hat. Notfalls kann man dann auf die Version zurückchecken, dann stimmen auch die ganzen Dateinamen und Zeilennummern wieder :-)
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

23

12.02.2013, 19:39

Oh, da gibt es leider viel zu viele verschiedene Möglichkeiten. Ein Weg führt über WMI, das tut unter der Haube aber wohl kaum mehr, als die Daten aus der Registry und von sonst wo zusammenzusuchen und ist mir persönlich zu viel Overkill, daher setz ich lieber etwas weiter unten an. Die Betriebssystemversion bekommst du z.B. über GetVersionEx(). Informationen über die Prozessoren im System finden sich in der Registry unter HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor. Infos zur den installierten Grafikkarten bekommt man über DXGI oder per EnumDisplayDevices()...

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (12.02.2013, 19:46)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

24

12.02.2013, 19:58

Deine Anwendung hat ab Vista einfach keine Schreibrechte mehr im eigenen Programmverzeichnis. Du *musst* in ein AppData-Verzeichnis schreiben
Das gilt natürlich nur, wenn die Anwendung über einen Installer mit Admin-Rechten in den Program-Files-Ordner installiert wurde. Wenn sie woanders liegt und anderweitig installiert (entpackt) wurde, gibt es dieses Problem nicht. Selbst die Installation nach Program-Files finde ich eine perfide Abart, eben weil dort nur Admins Schreibrechte haben. Aber gut, lassen wir das. Ich glaube ich habe meinen Standpunkt klar gemacht ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

25

12.02.2013, 21:15

Der Anfang der Log sieht nun so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-------------- THE FORCE FIELD ENGINE LOG --------------
Engine version 123
Renderer version 11
Shader version 1
Physic version 303
--------------------------------------------------------

---------------------- Information ---------------------
System information:
 MajorVersion: 6
 MinorVersion: 1
 BuildNumber: 7601
 SP: Service Pack 1

CPU Information:
 Name: Intel(R) Core(TM)2 Duo CPU     T6400  @ 2.00GHz
 Identifier: x86 Family 6 Model 23 Stepping 10
--------------------------------------------------------

Grafikkarte kommt noch dazu.
Was sagt ihr?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

26

12.02.2013, 23:14

Idealerweise solltest du nur eine eindeutige Versionsnummer haben mit der du deinen Code mit den Bibliotheken auf genau diesen Stand zurücksetzen kannst.

Ansonsten wirst du etwas komplexere Bugs wohl kaum wieder reproduzieren können (wenn es Abhängigkeiten zwischen den verschiedenen Teilen gibt).

Schau dir z.B. mal die BuildVersion von Windows an (die du ja auch in einem Log stehen hast). Mit der Nummer kann MS genau das gleiche Build wieder erzeugen.
Du kannst die Engine, Renderer etc. Versionsnummern schon stehen lassen, aber sie sollten bereits eindeutig von der Build Nummer bestimmt sein und sind daher eigentlich redundant (kann aber für schnelles schauen angenehmer sein).

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

27

12.02.2013, 23:28

Drakon die Engine ist unterteilt. Die unterteilten Teile hängen nur minimal zusammen. Deswegen so viele verschiedene Versionen. Wenn ich was am Shader ändere, aber im Renderer nichts ändern muss deswegen, muss ich nicht extra die komplette Engine von vor 2 Monaten wieder erstellen, sondern nur die Shader ersetzen. Damit ich weiß was ich da veränder, mache ich natürlich ein Changelog ;)

Ich finde das so am angenehmsten.

Am Beispiel 123:
Major: 1
Minor: 2
Rev: 3

Der Rest (außer Physikmodul) hat nur kleine Versionen. Denn sie hängen von der Major der Engine ab.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Werbeanzeige