"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Games unter Windows Vista und DX10

TOM 19.01.2007 - 17:56 11886 56
Posts

stevke

in the bin
Avatar
Registered: Sep 2001
Location: Wien
Posts: 3956
Aber das Programmieren ist mit mehreren DDLs die jeweils ein bestimmtes Aufgabengebiet haben leichter, vorallem die Fehlerkorrektur, da dann nur eine kleine DLL ausgetauscht werden muss.
Außerdem kannst so auch recht einfach ein Plugin System machen, zB per Late Binding.

EDIT: Von der Wiederverwendbarkeit brauchen wir gar nicht reden. :)

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3665
Zitat von Hornet331
was aber auf mind. 80% der user zutrifft. ;)

Dank MS. Ich rieche einen Teufelskreis o_O

Hornet331

See you Space Cowboy
Avatar
Registered: Sep 2003
Location: Austria/Korneubu..
Posts: 7680
Zitat von nexus_VI
Dank MS. Ich rieche einen Teufelskreis o_O

ohne ms hättest die 80% garnicht. :D

sag mal einem 0815 user er soll einen ordner erstellen ohne gui... :p

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3665
Als ich noch auf der FH war im Informationstechnik Studiengang hat mich bei der Java-Prüfung meine Nachbarin gefragt wie man im Windows einen neuen Ordner erstellt. Ich habs Studium abgebrochen ;)

GATTO

Here to stay
Registered: Dec 2001
Location: Innsbruck
Posts: 1729
@stevke... sorry hab mich glaube ich etwas undeutlich ausgedrückt... das mit den dlls und so stimmt ja ich meinte eher das die dlls usw von einem programm in eine große datei gestopft werden und von dieser aus direkt komplett in den speicher geladen.(also wie wenn du eine nicht komprimierte zipdatei in den speicher entpackst). Das ändern einzelner dateien innerhalb dieser zipdatei wäre dann kein problem. Dadurch würde die HD nicht so schnell fragmentiert und das programm viel schneller geladen sofern die HD defragmentiert ist weil alles fürs programm auf einem haufen ist.
Des weiteren wärs fürs betriebssystem leichter zu verwalten... also z.B. alle diese großen Zipdateien die länger als ein Monat nicht benutzt werden werde komprimiert. Das spart dann wieder Platz und die programme liesen sich dennoch starten...
Und das ein paar tausend kleine files so oder so mehr platz auf der Platte belegen als ein großes ist sowieso klar (jedenfalls bei Fat32)

Und der größte vorteil wäre das man die Programme dann vielleicht nicht mehr installieren müsste (also von den files her) sondern nur registry einträge oder ini Dateien erstellt werden. Ne kluger Namensgebung und schon kann man jederzeit ein Programm einfach weglöschen bzw dazutun. Dateileichen werden so vermieden und uninstalldateien bräuchte man auch nicht mehr was wiederrum viel an wiederherstellungsdaten sparen würde usw...

Ich hoffe das war jetzt besser ausgedrückt.


Beispiel: Installier Openoffice. Dann komprimier alle dll und exe dateien mit upx (hat dann nur mehr 80MB) und pack sie in einen unkomprimierten Zif ordner.defragmentiere die HD und starte das programm dann... Ergebnis: wesentlich weniger Festplattenplatz und schnellere Ladezeiten (mal angesehen davon das mehr Ordnung herrscht)
Bearbeitet von GATTO am 20.01.2007, 14:49

Hornet331

See you Space Cowboy
Avatar
Registered: Sep 2003
Location: Austria/Korneubu..
Posts: 7680
Zitat von nexus_VI
Als ich noch auf der FH war im Informationstechnik Studiengang hat mich bei der Java-Prüfung meine Nachbarin gefragt wie man im Windows einen neuen Ordner erstellt. Ich habs Studium abgebrochen ;)

rofl das is fast schon sig verdächtig. :D

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11326
Zitat von GATTO
ich meinte eher, dass die dlls usw von einem programm in eine große datei gestopft werden und von dieser aus direkt komplett in den speicher geladen.

Programme oder DLLs werden bei Win32 nicht vollständig in den Speicher geladen, sondern pageweise nach Bedarf.

Außerdem willst du sicher nicht bei jedem Spiel z.B. alle DirectX-DLLs dazupacken.

GATTO

Here to stay
Registered: Dec 2001
Location: Innsbruck
Posts: 1729
Da einzelne Dlls normalerweise nicht allzugroß sind würde ich die benötigten sehr wohl komplett laden. Und es müssen ja nicht ALLE dlls aus z.b. der DirectX.zif geladen werden.

Meinte nicht das bei jedem Spiel die directx dlls dabei sein müssen aber eben dass alle dlls die zu directx gehören in einer directx.zif sein sollen... also alle die zusammengehören und sonst zu nix!!


Das Openoffice.zif von mir kann ich z.B. überall vom USB-Stick starten weil alles was openoffice benötigt drinnen ist.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25376
Welche Vorstellung da so manche User von DLLs haben ist ja grauenhaft (und falsch). Eine DLL ist _niemals_ in einer größeren Datei enthalten, auch nicht per upx, dass sowieso nur Executables komprimiert. DLLs sind Programmteile oder Libraries, die ihre Funktionen mit anderen Programmen teilen sollen und somit Speicher sparen. Es gibt auch unterschiedliche Typen von DLLs: C++ DLLs und COM DLLs. Letztere können von unterschiedlichen Programmiersprachen über Interfaces verwendet werden können und sind nicht einfach handhabbar, da diese systemweit registriert werden müssen. Zum Glück hat das Microsft Visual Studio Team vor gar nicht langer Zeit hier einige Verbesserungen durchgeführt und .manifest Dateien eingeführt, die ein Versionswirrwarr verhindern (können).

Ansonsten bin ich, wie in einigen Posts erwähnt, ebenfalls der Meinung, dass es nur Vorteile hat, wenn ein Spiel/Programm seine Dateien in einer einzigen Archivdatei ablegt. Jeder ernstzunehmende Spieleentwickler sollte darauf bauen, da die Ladezeiten von der stetig wachsenden Anzahl an Texturen, Meshes und Sounds dadurch um ein Vielfaches reduziert werden können. ID Software hat zB jede ihrer Engines damit versehen. Eine Abstrahierung des Filesystems ist meiner Meinung nach auch ein Muss. So kann das Spiel entscheiden ob eine Resource von einem Verzeichnis, einem Archiv oder aus dem Speicher geladen wird. Das lässt einiges an Optimierung zu, besonders mit schon geladenen Resourcen, die, aus welchem Grund auch immer, gerade nicht im Speicher der Grafikkarte liegen.

Nun, DirectX 10 versucht hier zumindestens einen Teil der Arbeit abzunehmen und die Grenze zwischen geladenen Resourcen im Systemspeicher und im Grafikkartenspeicher verschwinden zu lassen. Das ist mal ein Anfang. Ob dieses Feature, offiziell "memory virtualization" genannt, dem Spieler etwas bringen wird? Nein, die Performance ist maximal diesselbe und das wäre schon mehr als man sich wünschen darf. DirectX 10 ist aber auch nicht als Update (Update ist untertrieben, DirectX 10 ist ja ein Rewrite) für den Spieler gedacht, auch wenn man das so verkaufen will. Das neue DirectX bietet dem Spieleentwickler dafür umso mehr Komfort um sich auf das Wesentliche konzentrieren zu können - XNA ist dann noch die Draufgabe, auch wenn ich persönlich nicht viel von der Benutzung von C-Gartenzaun in der Spieleentwicklung halte. Ebenfalls die Weiterentwicklung von HLSL und Shader Model 4, der Geometry Buffer, usw. bieten dem Entwickler zum Großteil einfach nur mehr Möglichkeiten und damit auch dem Spieler die erwünschten Eye Candies.

Microsoft sollte meiner Meinung nach noch einen Schritt weitergehen und DirectX um allgemeine Features einer 3D-Engine erweitern. Zum Beispiel die oben genannten Archivdateien wären eine sinnvolle Erweiterung. Viele Hobbyprojekte würden damit eine einheitlichere Struktur erlangen und kompatibel zu den von Smut erwünschten Profiles in Vista bieten. Ich denke dazu müsste man gar niemanden zwingen, viele würden sehr gerne so arbeiten, wenn die richtigen Tools für die Verwaltung der Archivdateien beigepackt werden. Eine Schnittstelle für Visual Studio, die das Archiv dann automatisch aktualisiert wäre dann natürlich die Krönung :)

Würde man noch einen Schritt weitergehen dann könnte man das Speichermanagement auch gleich über DirectX verwalten.. nichts lieber als ein ordentlicher Speichermanager, der bestimmte Resourcen gemeinsam auf eine Speicherpage lädt und der Fragmentierung entgegenwirkt.

Ja, das sind nicht wirklich die Features, die sich ein Spieler erwaretet. Daraus resultieren allerdings automatisch Performancezuwächse, kürzere Entwicklungszeiten und im Endeffekt besser Spiele. Und davon hat dann doch jeder etwas :)

Starsky

Erbeeren für alle!
Registered: Aug 2004
Location: Proletenacker
Posts: 14296
zum thema
Zitat
Beschert uns Vista mit angekündigten DX-10 Titeln wie etwa "Crysis" nun doch die vielgepriesenen Grafiküberflieger um den Next-Gen Konsolen Paroli bieten zu können?
:
pc und konsolen bedienen zumeist unterschiedliche klientel, den unterschied wird auch vista nicht ausmachen, ansonsten könnte sich mircosoft ja auch aus dem konsolengeschäft verabschieden.
und ich glaube auch daran, dass dx10 noch für xp kommt - schliesslich ist trotz allen unkenrufen auch eine 7800er und eine x1950 pro für agp erschienen.

daisho

SHODAN
Avatar
Registered: Nov 2002
Location: 4C4
Posts: 19591
Zitat von Indigo
mir wäre es eher recht wenn jedes programm über seinen programmordner hinaus nichts zu sehen bekäme, keine registryeinträge etc.
würde neuinstallationen extrem vereinfachen, da die programme nicht neu installiert werden müssten...
--> mehr in richtung portable apps bitteschön!

Full ack,

besonders wenn Programme irgendwelche Daten installiert die dann _irgendwo_ landen (z.B. im Windows Verzeichnis, oder unter Programme, ...) genauso wie jeder Softwarehersteller (speziell bei Spielen) seine Daten woanders Standardmäßig ablegt. (Der eine bei Gemeinsame Dokumente, der andere bei Eigene Dokumente, der andere unter GameDir\Saves der nächste überhaupt wo ganz anders ...

JC

Administrator
Disruptor
Avatar
Registered: Feb 2001
Location: Katratzi
Posts: 9067
Um die Diskussion ein wenig zu erweitern, gibt's auch Neuigkeiten von Creative.

Wie bereits berichtet, gibt es unter Windows Vista Probleme mit dem neuen Treibermodell, so dass man auf Raumklang verzichten musste:
Zitat
by Steve Erickson, Vice President Audio bei Creative

Microsoft hat unter Windows Vista die Audio-Architektur verändert und den Hardware Abstraction Layer entfernt, was bei vielen Spielern zu Verwirrung führt. Viele Gamer, die populäre, weit verbreitete Spiele mit der Beta-Version von Vista testeten, konnten keinen Mehrkanalklang erreichen - weder mit einer Creative-Soundkarte, noch mit Konkurrenzprodukten oder mit Onboard-Audiolösungen. Das lässt sich nicht allein mit einem Treiber-Update lösen.
Mit der ALchemy-Software lässt sich dieses Problem umgehen, womit X-Fi-Anwendern die gleiche Mehrkanal-Klangqualität wie unter Windows XP garantiert wird. Die Beta-Version der Software steht ab sofort hier zum Download bereit. Neue, angepasste Treiber für die Soundkarten der X-Fi-Reihe stehen auf http://www.europe.creative.com zur Verfügung. Derzeit wird allerdings nur eine Handvoll Spiele unterstützt.

Dazu passt vielleicht auch noch dieser Bericht, der andeutet, dass sich Computerbenutzer momentan eher für die integrierten Audiolösungen zu entscheiden scheinen.


Wie seht ihr diese Sache? :)

Dreamforcer

New world Order
Avatar
Registered: Nov 2002
Location: Tirol
Posts: 8913
nur 2.o respektive headsetspieler, von daher ich muss keine high end soundkarte haben.

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11326
Zitat von JC
Wie seht ihr diese Sache? :)

Ich bin mit meiner Audigy zufrieden - wenn auch der größte Teil der Fähigkeiten brach liegt, weil ich brauch nur das, was Onboard-Sound auch könnte. Es ist nur praktisch, gleichzeitig die Anlage und ein Headset anstecken zu können.

Was Neueres von Creative kommt sowieso nicht in Frage, weils ja keine Treiber dafür gibt.

zankarne

Legend
no Custom User Text
Registered: Oct 2001
Location: back in austria
Posts: 4632
ich hab meine 3 wow installation auf der festplatte und am mp3 player gebackupped... und das ewige hin und her kopieren funzt einfach .. so wünmscht man sich das... das einzige was nervt ist dass man noch verknüpfungen erstellen muss :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz