Die Suche ergab 81 Treffer

von Goderion
08.10.2017, 00:40
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Fullscreen - VSync VS SelfSync
Antworten: 14
Zugriffe: 5237

Re: [C++] [D3D9] Input Lag - Fullscreen - VSync VS SelfSync

Lohnt sich das denn für D3D 9? Was genau? Ein Testprogramm zu entwickeln oder eine eigene VSync-Funktion? Testprogramm habe ich schon fertig hingeklatscht: #include <Windows.h> #include <d3d9.h> #pragma comment(lib, "Winmm.lib") #pragma comment(lib, "d3d9.lib") const wchar_t* Wi...
von Goderion
07.10.2017, 22:30
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Fullscreen - VSync VS SelfSync
Antworten: 14
Zugriffe: 5237

Re: [C++] [D3D9] Input Lag - Fullscreen - VSync VS SelfSync

Daran habe ich auch schon gedacht, so anfühlen tut es sich auch. Aber eigentlich sollte es nur einen Backbuffer geben. Die Nvidia-Einstellungen habe ich ja auch schon gecheckt. D3DPRESENT_PARAMETERS mit VSync D3DPP_VSYNC.jpg D3DPRESENT_PARAMETERS ohne VSync D3DPP_NOVSYNC.jpg Wie man sieht, gibt es n...
von Goderion
07.10.2017, 18:46
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Fullscreen - VSync VS SelfSync
Antworten: 14
Zugriffe: 5237

[C++] [D3D9] Input Lag - Fullscreen - VSync VS SelfSync

Hallo. In meiner Anwendung protokolliere ich jedes Frame und kann damit z.B. bei aktivem VSync das nächste Present sehr gut planen. Das ermöglicht es mir, den Input Lag sehr stark zu reduzieren. Ein einfaches Beispiel. - Bei 60Hz muss ich 60 FPS erreichen und damit alle 16,6ms ein neues Bild zur Ver...
von Goderion
04.10.2017, 00:17
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan
Antworten: 9
Zugriffe: 4455

Re: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan

Ich mag keine Anwendungen, die kaum was machen, aber die CPU prügeln, so wie z.B. manche Flash-Games. Billigstes 2D-Klickfest aber ein oder mehrere CPU-Kerne auf 100%... nicht schön! Klar, aber wir haben mit solchen Threads einen ganz guten Page Rank, und ich spreche dann immer auch zu anderen, die...
von Goderion
02.10.2017, 19:13
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan
Antworten: 9
Zugriffe: 4455

Re: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan

Fang bloß nicht mit Spin Loops oder sowas an – ... Was ist mit Spin Loops gemeint? Eine "sinnlose" Schleife, die dafür sorgt, dass die CPU-Auslastung steigt? Das würde vermutlich eh nichts bringen, da dies nur zur Takterhöhung des Kernes führen würde, auf dem der Spin Loop/Thread läuft. I...
von Goderion
02.10.2017, 00:41
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan
Antworten: 9
Zugriffe: 4455

Re: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan

Ich habe mir den Link (http://cbloomrants.blogspot.de/2009/03/03-02-09-sleep-sucks-and-vsync-woes.html) durchgelesen, denke aber nicht, dass es mit meinem Problem vergleichbar ist. Es liegt wohl wirklich am wechselnden Takt der CPU. Nochmal 2 Bilder zum Vergleich: 1. Windows-Energiesparplan auf Höch...
von Goderion
01.10.2017, 16:04
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan
Antworten: 9
Zugriffe: 4455

Re: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan

Hast du den CPU-Takt gemessen und weißt , dass er schwankt, oder vermutest du es nur? Ich messe den Takt direkt in der Anwendung, mit CPU-Z und mit CoreTemp. Alle drei Messungen zeigen deutlich, dass die CPU hoch -und runtertaktet. Test bitte nochmal mit timeBeginPeriod(1) am Anfang des Programms …...
von Goderion
01.10.2017, 14:17
Forum: Grafikprogrammierung
Thema: [C++] [D3D9] Input Lag - Framelimit - Energiesparplan
Antworten: 9
Zugriffe: 4455

[C++] [D3D9] Input Lag - Framelimit - Energiesparplan

Hallo, ich habe zwei Fragen: A. Warum reduziert sich bei vielen Spielen der Input Lag, wenn man bei aktivem VSync ein Framelimit etwas unter der eingestellten Hz setzt? Ich habe dieses Phänomen schon mehrmals selbst erlebt und man kann von diesem "Trick" auch oft in Foren lesen. Ich habe a...
von Goderion
12.09.2017, 21:15
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Anwendung für bestimmte CPU-Architektur optimieren
Antworten: 5
Zugriffe: 1881

Re: [C++] Anwendung für bestimmte CPU-Architektur optimieren

Vielen Dank für die Antwort! Ich programmiere seit ca. 20 Jahren, musste aber erstmal googlen, um herauszufinden, was Abrollen von Schleifen bedeutet. Darum liebe ich Programmierung, man lernt nie aus! ^^ Ich glaube aktuell verhält sich das mit dem Ringbus vs. Mesh ähnlich. Die Mesh-Architektur kann...
von Goderion
12.09.2017, 14:21
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Anwendung für bestimmte CPU-Architektur optimieren
Antworten: 5
Zugriffe: 1881

[C++] Anwendung für bestimmte CPU-Architektur optimieren

Hallo. In den letzten Monaten kamen ja so einige neue Prozessoren raus (Intel Skylake-X mit Mesh statt Ringbus, AMD Ryzen, usw.). Ich lese in einigen Foren immer wieder, das aktuelle Anwendungen in bestimmten Vergleichen mit den neuen Prozessoren ungewöhnlich schlecht abschneiden. In einigen Fällen ...
von Goderion
08.06.2017, 19:04
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Kopierschutz-Effizienz
Antworten: 22
Zugriffe: 9431

Re: Kopierschutz-Effizienz

… und genau da wären wir beim Thema: Viel Implementierungsaufwand; vieles, das beim Anwender schief gehen kann. Der Aufwand für die Implementierung hält sich hier aber sehr in Grenzen. Das Ganze ist extrem simpel strukturiert und sollte locker mit weniger als 1000 Zeilen Code realisierbar sein. Die...
von Goderion
08.06.2017, 17:40
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Kopierschutz-Effizienz
Antworten: 22
Zugriffe: 9431

Re: Kopierschutz-Effizienz

Finde ich eine gute Lösung, solange man natürlich erlaubt, die Schlüssel zu reaktivieren, wenn man sich (manuell) beim Support meldet. Da muss ich noch überlegen, wie das genau funktionieren soll, also wie und wann ein Schlüssel gesperrt wird. Man könnte in einer Datenbank den Schlüssel, die Hardwa...
von Goderion
08.06.2017, 12:34
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Kopierschutz-Effizienz
Antworten: 22
Zugriffe: 9431

Re: Kopierschutz-Effizienz

Ich glaube das Kopierschutz schon etwas bringt, man sollte es aber nicht übertreiben. Sollte ich mal soweit sein und ein eigenes Programm/Spiel kommerziell vertreiben, habe ich mir folgenden Kopierschutzmechanismus überlegt: - Schlüssel, der aufgrund einer mathematischen Logik offline überprüft werd...
von Goderion
22.05.2017, 23:35
Forum: Grafikprogrammierung
Thema: [C++] [Direct3D9] Sonnensystem darstellen
Antworten: 8
Zugriffe: 4467

Re: [C++] [Direct3D9] Sonnensystem darstellen

Vielen Dank für die Antworten! Metergenauigkeit halte ich für ne schlechte Idee, just sayin. Der Level of Detail ist nicht handlebar ;) Merke es auch gerade beim Experimentieren. Selbst wenn ich die Erde mit 1.310.720 Dreiecken erstelle, reicht es nicht. Guck dir mal Kram über "Planet Rendering...
von Goderion
21.05.2017, 14:43
Forum: Grafikprogrammierung
Thema: [C++] [Direct3D9] Sonnensystem darstellen
Antworten: 8
Zugriffe: 4467

Re: [C++] [Direct3D9] Sonnensystem darstellen

Zum Thema "Himmel" rendern: guck dir Krishtys Signatur an, das wichtigste hierbei ist eigentlich, dass du die Sterndaten und die Cube Map renderst Sieht interessant aus, werde ich mal genauer angucken. Wie nah soll man denn an die Planeten rangehen können? Das entscheided stark darüber, w...
von Goderion
21.05.2017, 14:10
Forum: Grafikprogrammierung
Thema: [C++] [Direct3D9] Sonnensystem darstellen
Antworten: 8
Zugriffe: 4467

[C++] [Direct3D9] Sonnensystem darstellen

Hallo. Ich möchte das/unser Sonnensystem maßstabsgetreu dreidimensional darstellen. 1. Aufgrund eines bestehenden Projektes soll/muss das alles in C++ mit Direct3D9 programmiert werden. 2. Die Sonne und Planeten sollen maßstabsgetreu sein, also die Größe und Position der Himmelskörper. 3. Auf Textur...
von Goderion
13.05.2017, 23:18
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

Re: [C++] Errorunterhose - Fehlerbehandlung verbessern

Und die Größe? __debugbreak() = 1.839.616 Bytes Functioncall = 1.938.432 Bytes Nein; du bekommst das Zertifikat mit zeitlich begrenzter Gültigkeit (z.B. für zwei Jahre) und darfst deine Patches so viel und so oft signieren, wie du willst. Ich habe aber in das Microsoft-Portal reingeschaut, und es i...
von Goderion
13.05.2017, 20:39
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

Re: [C++] Errorunterhose - Fehlerbehandlung verbessern

Vielen Dank für eure Hinweise! Naja, Lokalität halt. Ein Haltepunkt ist auf x86 bloß ein Byte groß und beeinflusst AFAIK – im Gegensatz zu einem Funktionsaufruf – nicht die Pipeline. Mit einer Funktion hättest du wohl das Problem, dass die CPU die dauernd spekulativ ausführen würde, obwohl gar kein ...
von Goderion
09.05.2017, 23:30
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

Re: [C++] Errorunterhose - Fehlerbehandlung verbessern

Dann würde ich alle Assertions im Release-Modus ein __debugbreak() auslösen lassen. Ein __try { } except() { } in der main() kann sie fangen, und dann entweder einen Call Stack schreiben oder einen Minidump (z.B., um den zu dir zu mailen). Was spricht dagegen, wenn ich den Call Stack und/oder den M...
von Goderion
09.05.2017, 22:35
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

Re: [C++] Errorunterhose - Fehlerbehandlung verbessern

Ja; das klingt schon richtig. In Debug-Builds Assertions; in Release-Builds einfach krachen lassen. Im Release-Modus verliere ich ca. 3% Performance bei aktivierten Assertions/Kontrollfunktionen, deshalb habe ich beschlossen, die vorerst auch in der Release-Version aktiviert zu lassen. Dein Problem...
von Goderion
09.05.2017, 22:03
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

Re: [C++] Errorunterhose - Fehlerbehandlung verbessern

Warum dann nicht einfach Assertions nutzen? Auf so etwas würde ich niemals Laufzeitkosten verschwenden … Wie meinst Du das? Ich benutze Assertions, aber nicht die aus <assert.h>, sondern selbst geschriebene Assertions, die aber das gleiche machen, nur die Fehlermeldung ist detaillierter. Es gibt au...
von Goderion
09.05.2017, 20:00
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

Re: [C++] Errorunterhose - Fehlerbehandlung verbessern

Vielen Dank für die Antworten. Dem Post von Schrompf stimme ich fast vollständig zu und arbeite auch so, ich weiß nur nicht, wo ich sinnvoll Exceptions nutzen kann, wenn ich bei einem throw, bzw. im catch, das Programm sowieso beende. Die Callback-basierte Fehlerbehandlung von Krishty muss ich erstm...
von Goderion
09.05.2017, 12:07
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Errorunterhose - Fehlerbehandlung verbessern
Antworten: 14
Zugriffe: 3571

[C++] Errorunterhose - Fehlerbehandlung verbessern

Hallo. Ich überarbeite gerade meine Fehlerbehandlung/Fehlersystem in meinem Programm. Meine Fehlerverarbeitung basierte anfangs hauptsächlich auf Exceptions (try, catch, throw). Sämtliche Objekte/Ressourcen/Speicher werden durch spezielle Verwalter organisiert, wie z.B. im einfachsten Fall ein Smart...
von Goderion
17.04.2017, 11:10
Forum: Grafikprogrammierung
Thema: C++ | IDirect3DDevice9::StretchRect | Bildfehler
Antworten: 6
Zugriffe: 3239

Re: C++ | IDirect3DDevice9::StretchRect | Bildfehler

Ich kenne das API nicht, daher ganz doof gefragt: ist die Obergrenze vielleicht einschließlich? Pixel 0 bis einschließlich Pixel 1280 sind 1281 Pixel. Darüber habe ich auch schon nachgedacht, aber dadurch das sich das Verhalten nicht ändert, wenn man das Quell und Ziel-Rechteck nicht angibt, denke ...
von Goderion
17.04.2017, 02:21
Forum: Grafikprogrammierung
Thema: C++ | IDirect3DDevice9::StretchRect | Bildfehler
Antworten: 6
Zugriffe: 3239

C++ | IDirect3DDevice9::StretchRect | Bildfehler

Hallo. Wenn ich per StretchRect ein Surface auf den BackBuffer "kopiere", bekomme ich eine vertikale und horizontale "Bildstörung". Die Störung schneidet quasi mittig einmal von Rechts nach Links und einmal von Oben nach Unten. Sobald die Höhe und Breite vom SourceSurface gleich ...
von Goderion
16.04.2017, 14:52
Forum: Vorstellungsbereich
Thema: [Projekt] Devader
Antworten: 1628
Zugriffe: 533077

Re: [Projekt] Devader

Hallo. Ich habe mir Devader mal angeguckt und finde, dass es gut und flüssig läuft (i7 6700K @4500 + GTX 970). Wäre ich ein Fan von diesem Spielprinzip (Top Down Shooter/Bullet Hell), würde ich es sicher zocken. Die CPU-Auslastung im Menü und bei den Zwischensequenzen finde ich allerdings merkwürdig...
von Goderion
15.04.2017, 11:52
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ - Organisation/Verwaltung von millionen Objekten
Antworten: 20
Zugriffe: 6582

Re: C++ - Organisation/Verwaltung von millionen Objekten

Vielen Dank für die Antworten/Hinweise! Ja, eine Queue abzuarbeiten ist auch ein guter Ansatz (ob nun einzeln oder ergänzend zum Buffer). Du kannst für die Kommandos eine concurrent_queue wie z.B. https://github.com/ikiller1/moodycamel-ConcurrentQueue verwenden oder einfach die Queue doppelt puffern...
von Goderion
14.04.2017, 11:24
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ - Organisation/Verwaltung von millionen Objekten
Antworten: 20
Zugriffe: 6582

Re: C++ - Organisation/Verwaltung von millionen Objekten

Entschuldige, was sind Kontrollfunktionen? Mit Kontrollfunktionen meine ich Funktionen die diverse Dinge überprüfen. Jedes Objekt hat z.B. einen Zeiger auf sich selbst. Im ersten Konstruktor wird dieser gesetzt und im letzten Destruktor "genullt". Die Prüfung ist natürlich nicht narrensic...
von Goderion
13.04.2017, 19:13
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ - Organisation/Verwaltung von millionen Objekten
Antworten: 20
Zugriffe: 6582

Re: C++ - Organisation/Verwaltung von millionen Objekten

Mal eine ganz dumme Frage: Wenn du die Funktionen in einer abgeleiteten Klasse mit __forceinline , überschreibst, und dann die überschriebene Version durch die Basisschnittstelle aufrufst, ruft der Compiler dann auch mit Optimierungen die korrekte Version (die überschriebene) auf? Das klingt mir se...
von Goderion
13.04.2017, 16:51
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ - Organisation/Verwaltung von millionen Objekten
Antworten: 20
Zugriffe: 6582

Re: C++ - Organisation/Verwaltung von millionen Objekten

Falls das wirklich geht, würde ich es definitiv hinter einem Makro verstecken und gut dokumentieren. Ich wüsste nicht, was virtual __forceinline bedeuten soll, denn das eine schließt das andere aus. Ich setze nicht bei der Deklaration von virtual AddRef und virtual Release in InterfaceObject das __...