Seite 10 von 16

Re: Linkdump

Verfasst: 05.07.2018, 22:58
von Krishty
https://obscuritory.com/

Alte Spiele, die niemals released wurden.

Re: Linkdump

Verfasst: 11.07.2018, 15:00
von joggel

Re: Linkdump

Verfasst: 12.07.2018, 22:02
von Krishty
Das GameCube-Spiel Animal Crossing enthält einen vollständigen NES-Emulator, der aber nie zum Einsatz kam.

Wie man ihn hackt, um beliebige NES-ROMs abzuspielen (via Memory Card): https://jamchamb.github.io/2018/07/11/a ... hacks.html

Re: Linkdump

Verfasst: 28.07.2018, 16:16
von Biolunar
The Elusive Frame Timing
Kann dieses Problem auch auftauchen, wenn ich in die Simulation per Frame um eine konstante Zeit voranschreiten lasse?

Re: Linkdump

Verfasst: 28.07.2018, 16:30
von Krishty
Für alle, die draufklicken: Überspringt die ersten 15 bis 20 Absätze, die sind nur Gelaber. Ich fasse kurz zusammen: Weil die GPU ihre Befehle puffert, hat das Spiel keine Möglichkeit, zu erfahren, wie lange sie tatsächlich für einen Frame brauchte. Das Raten geht manchmal schief, und dann hat man Ruckeln.

Ja, das Problem manifestiert sich möglicherweise auch mit fester Physik-Framerate. Es geht wohl von der GPU aus. Und da verstehe ich den Artikel nicht – ich dachte, bei D3D 12 und Vulkan hätte man direkte Kontrolle über die Nebenläufigkeit der GPU. Schließlich muss man auch händisch synchronisieren, dass man Daten mit der CPU nicht überschreibt, während der aktuelle Frame im Gange ist. Schon D3D 11.1 auf Windows 8 fügte SetMaximumFrameLatency() hinzu, damit man Latenz über Durchsatz bevorzugen kann (also reaktionsschnelles Bild über FPS) indem man die GPU nicht zu weit vorausrendern lässt.

Vielleicht habe ich aber auch falsch gelesen; wie gesagt, in den 10.000 Wörtern ist schwer zu verstehen, was der Typ überhaupt aussagen möchte.

Re: Linkdump

Verfasst: 28.07.2018, 18:55
von Jörg
In der Tat etwas weit ausgeholt. Natürlich kann man perfekte Animationsschritte berechnen wenn man die komplette Dauer eines Frames kennt. Dumm nur das man dann ebenso mit dem nächsten warten muss, ich kann ja nicht zeichnen &animieren ohne das vorige Delta zu kennen.
Also bezahlt man entweder mit dem Verlust jeglichen Pipelinings zwischen Frames oder man schiebt die Animationsberechnung selbst auf die GPU und füttert diese mit einem 'late-latched' Delta welches von der Display-Engine kommt.
Mit genügend Rechenpower ist die erste Variante sicherlich die leichtere, oder habt ihr schon alle die Animationsberechnung in Compute-Shadern laufen? ;)

Re: Linkdump

Verfasst: 28.07.2018, 19:44
von Krishty
Ich mache auch mal lange Rede mit kurzem Sinn:

Ich wollte dieses Wochenende was Ähnliches machen: Die Transformationsmatrizen in meinem Scene Graph ändern sich ja pro Frame, was sie inhärent feindlich gegenüber Command Lists macht. Ich kann es umgehen, indem ich die Object-to-World-Matrizen pro Objekt in eigene Constant Buffers packe (ändern sich fast nie) und die View-Projection-Matrix in einen globalen Constant Buffer (ändert sich jeden Frame). Dann aktualisiere ich den Buffer mit View-Projection einmal am Anfang des Frames, stoße die Command List an, und die CPU ist fertig. Nicht mal zehn D3D11-Aufrufe für einen Graph mit 40.000 Objekten – sportlich.

Verdammt, dachte ich – das geht sicher noch besser:
  • Ich habe 40.000 einzelne Constant Buffers rumliegen, die dauernd geswitcht werden. Das ist fett rot im Profiler.
  • Warum muss jedes Vertex zwei Mal transformiert werden? Nicht, dass es viel kostet, aber mir missfällt halt der Gedanke, dass alle Vertex Shader parallel die identische Matrixmultiplikation wiederholen …
Also, warum nicht alle Matrizen des ganzen Graphen in einen riesen Buffer, und am Anfang des Frames einen Compute Shader anstoßen, der alle World-View-Projection-Matrizen aktualisiert? Dann sind die Kosten pro Vertex nochmal niedriger, und die Constant Buffer-Switches weg.

Wie dein Animationsvorschlag.

Naja, erstmal wollte ich einen Structured Buffer dafür benutzen. Dann habe ich gelesen, dass Structured Buffers eigentlich für verteilte Leseoperationen bestimmt sind (jedes Vertex liest von anderer Position), dass sie deshalb hohe Latenz haben und dass ich lieber einen riesen Constant Buffer benutzen sollte, das sei viel schneller.

Aber Constant Buffers haben eine Größenbegrenzung. Die liegt deutlich unter 40.000 Matrizen. D3D 11.1 hat eingeführt, dass man sie viel größer anlegen und dann Subsets adressieren kann – also das erste Objekt nutzt die ersten 72 Bytes, das zweite Objekt die zweiten 72, usw.

Aber D3D 11.1 braucht Windows 8 und das habe ich nicht, also scheiß drauf.

Also doch Structured Buffer. Und da merke ich: Wie zur Hölle teile ich eigentlich einem Modell mit, von welcher Position im Structured Buffer es lesen soll?! Ich müsste jedem Vertex ein zusätzliches uint verpassen, das im kompletten Objekt uniform ist. Oder ich mache einen Constant Buffer pro Objekt nur für den Index im Structured Buffer. Selber Mist in Grün.

DrawIndexedInstanced() hat zwar einen Parameter StartInstanceLocation, aber der wird nicht als SV_InstanceID an den Vertex Shader weitergeleitet. Ich bin nicht der erste, der damit auf die Nase gefallen ist.

Also bleibt alles wie es ist. Weil dieser Aspekt von D3D 11 einfach scheiße entworfen ist. Und weil ich kein Windows 8 habe. Und weil ich für Vulkan gerade nicht die Nerven und Zeit habe.

Und das heißt kurz gefasst: Ich stimme deiner Meinung zu, dass Animationsberechnung im Compute Shader höllisch komplex ist. Nichtsdestotrotz ist es wohl langfristrig und in Anbetracht der Framerate-Probleme der richtige Weg.

Nachtrag: Hier habe ich die gleiche Diskussion und einen tollen Beitrag gefunden.
  • Man erzeugt einen Vertex Buffer, der einfach uint hochzählt: 0, 1, 2, 3, …. So viele Zahlen, wie man Objekte hat.
  • Dann fügt man der Vertex Declaration ein R32_UINT-Element mit dem D3D11_INPUT_PER_INSTANCE_DATA-Attribut hinzu.
  • Vor dem Zeichnen bindet man zusätzlich zu den tatsächlichen Vertex-Daten den hinaufzählenden Buffer.
  • Dann nutzt man DrawInstanced…() statt den normalen Draw…()-Aufrufen, zeichnet nur eine einzige Instance, und übergibt als StartInstanceLocation die ID des Objekts.
  • Das zusätzliche R32_UINT-Element für das Objekt wird im per-Instance Vertex Buffer nachgeschlagen, mit dem Offset von StartInstanceLocation, und da … liegt exakt der gleiche Wert wie StartInstanceLocation, denn der Buffer zählt ja einfach hoch.
  • ???
  • PROFIT
Boah. Wer das für irre hält: So zeichnet Ogre seit 2.1 die gesamte Szene.

OpenGL hat seit 4.schlagmichtot eine extra-Shader-Konstante gl_baseinstance dafür. D3D hat nix. Boah ist das scheiße.

Re: Linkdump

Verfasst: 17.11.2018, 00:27
von xq
txti.es

Ein Hosting-Provider für einfache, Markdown-basierte Webseiten. Kein Javascript, kein Stylesheet, nachträglich editierbar, optimiert für schmale Bandbreite.

Für mich ein Hoffnungsschimmer in der Welt des modernen Internets

Re: Linkdump

Verfasst: 26.11.2018, 01:02
von gdsWizard
Hier einiges zum Thema Psychologie. Hier wird probiert psychische Störungen hervorzurufen, Einige der Bilder sollen schwul machen. Betrachten auf eigene Gefahr.

https://ufile.io/k2pab

Re: Linkdump

Verfasst: 26.11.2018, 02:41
von gdsWizard
Hier noch ein Gedicht das von Psychologen eingesetzt wird. Warum weiss ich auch nicht.... vielleicht soll es Depressionen auslösen.

Brief an einen jungen Dichter
von Rainer Maria Rilke


Mein lieber Herr Kappus,
Sie sollen nicht ohne einen Gruß von mir sein, wenn es Weihnachten wird, wenn sie inmitten des Festes Ihre Einsamkeit schwerer tragen als sonst. Im Grunde und gerade in den tiefsten und wichtigsten Dingen sind wir namenlos allein. Damit einer dem anderen raten oder gar helfen kann muss viel geschehen muss viel gelingen bis es einmal glückt. Wenn Sie merken dass Ihre Einsamkeit gross ist, so freuen sie sich dessen. Denn das wäre eine Einsamkeit welche nicht Größe hätte. Es gibt nur eine Einsamkeit und die ist gross. Und die ist nicht leicht zu tragen und es kommen fast allen die Stunden, dass sie sie gerne vertauschen möchten gegen irgendeine noch so banale und billige Gemeinsamkeit, gegen den Schein einer geringen Übereinstimmung mit dem nächst Besten mit dem Unwürdigsten. Aber vielleicht sind es gerade die Stunden, wo die Einsamkeit wächst denn ihr Wachsen ist schmerzhaft wie das Wachsen der Knaben und traurig wie Anfang der Frühlinge.
Aber das darf Sie nicht irre machen. Was not tut ist doch nur dieses eine: Einsamkeit große innere Einsamkeit. In sich gehen und stundenlang niemandem begegnen das muss man erreichen können. Einsam sein, wie man als Kind einsam war, als die Erwachsenen umher gingen mit Dingen verflochten, die wichtig schienen, weil die Großen so geschäftig aussahen, und weil man von ihrem Tun nichts begriff. Aber die Leute haben alles nach dem Leichten hin gelöst und nach des Leichten leichtester Seite.
Es ist aber klar, dass wir uns nach dem Schweren halten müssen. Alles Lebendige hält sich daran, alles in der Natur wächst nach seiner Art und ist ein Eigenes aus sich heraus, versucht es um jeden Preis zu sein und gegen allen Widerstand.
Auch zu lieben ist gut, denn Liebe ist schwer. Lieb haben von Mensch zu Mensch das ist vielleicht das Schwerste, was uns aufgegeben ist. Das Äußerste, die letzte Probe und Prüfung, die Arbeit, für die alle andere Arbeit nur Vorbereitung ist.
Und wenn es Ihnen bange ist quälend, an ihre Kindeheit zu denken und an das Einfache und Stille das mit ihr zusammenhängt,weil Sie an Gott nicht mehr glauben können, der überall darin vorkommt, dann fragen Sie sich lieber Herr Kappus ob Sie ihn wirklich verloren haben. Und wann sollte das gewesen sein? Ist es nicht vielmehr so, dass Sie ihn noch niemals besessen haben? Denn wann sollte das gewesen sein?
Warum, denken Sie nicht, dass Er der Kommende ist, der von Ewigkeit bevor steht. Der Zukünftige, die endliche Frucht eines Baumes dessen Blätter wir sind.
Sehen Sie denn nicht, dass alles was geschieht immer wieder Anfang ist, und könnte es nicht sein Anfang sein, da doch Beginn an sich immer so schön ist.
Wenn Er der Vollkommene ist, muss nicht Geringeres vor ihm sein, damit Er sich aussuchen kann aus Fülle und Überfluss. Muss Er nicht der Letzte sein, um alles in sich zu umfassen. Und welchen Sinn hätten wir, wenn der, nach dem wir verlangen schon gewesen wäre.
Sie sind so jung, so vor allem Anfang, und ich möchte Sie so gut es geht lieber Herr bitten, Geduld zu haben gegen alles Ungelöste in ihrem Herzen und zu versuchen die Fragen, die Fragen selbst lieb zu haben, wie verschlosse Stuben und wie Bücher , die in sehr fremden Sprachen geschrieben sind. Forschen sie jetzt nicht nach den Antworten, die Ihnen nicht gegeben werden können, weil Sie sie nicht leben können. Leben Sie jetzt die Fragen, vielleicht leben sie dann allmählich ohne es zu wissen eines fernen Tages in die Antwort hinein.
Feiern Sie, lieber Herr Kappus, Weihnachten in diesen frommen Gefühl, dass Gott vielleicht gerade diese Lebensangst von Ihnen braucht. Seien Sie geduldig und ohne Unwillen und, denken Sie, das Wenigste was wir tun können ist, Ihm das Werden nicht schwerer zu machen, als die Erde es dem Frühling macht, wenn er kommen will und seien Sie froh und getrost


Ihr Rainer Maria Rilke

Re: Linkdump

Verfasst: 26.11.2018, 05:56
von Krishty
Gehackt worden oder einfach nur high?

Re: Linkdump

Verfasst: 26.11.2018, 06:10
von gdsWizard
Wie andere hier auch habe ich mit Depressionen zu kämpfen und momentan bin ich sauer auf diese pseudowissenschaftlichen Psychologen. Warum dieser Mist ? Warum dieses Gedicht, frage ich mich ? Was hat das mit mir zu tun... Naja diese Psychologen und Psychiater können halt nix, außer falschen Diagnosen.

Re: Linkdump

Verfasst: 26.11.2018, 06:25
von Krishty
Okay, der Kontext hätte nicht geschadet.

Das ist ein etwas längeres Thema – angefangen dabei, dass einige Menschen erstaunlich Ablehnend gegenüber Wissenschaft sind und abschließend damit, dass mit Verarsche halt immernoch gutes Geld gemacht werden kann. Leider zu lang, als dass ich es vor der Arbeit schnell abhandeln könnte …

Re: Linkdump

Verfasst: 17.01.2019, 11:13
von Chromanoid
AI Neural Networks being used to generate HQ textures for older games (You can do it yourself!)
Bild
Bild
Wurde das oder das zugehörige Paper hier irgendwo schon mal gepostet? Kommt mir gerade so vor...

Re: Linkdump

Verfasst: 26.02.2019, 20:36
von Krishty
Hier könnt ihr euch extrahierte Levels aus vielen Spielen (meist Nintendo) direkt im Browser ansehen (WebGL macht’s möglich): https://noclip.website

Die Tweets des Entwicklers sind technisch auch immer eine Wonne: https://twitter.com/JasperRLZ

Re: Linkdump

Verfasst: 27.02.2019, 09:39
von joggel
Ich stelle immer wieder fest wieviel charm doch diese alten Spiele besitzen <3

Re: Linkdump

Verfasst: 16.05.2019, 10:07
von joggel

Re: Linkdump

Verfasst: 27.05.2019, 16:06
von joggel
Nur mal so Just for Fun:
Kennt jemand Dwitter ?^^

Nur leider verstehe ich den Code kaum :(

Re: Linkdump

Verfasst: 23.09.2019, 12:30
von Krishty
http://n-gate.com/ kommentiert gehässig jeden Sonntag die populärsten „Hacker“„News“-Schlagzeilen der Woche.
Colorado Town Offers 1 Gbps for $60 After Years of Battling Comcast
September 18, 2019 (comments)
Some assholes lost a bid for regulatory capture. Hackernews decides the important next step is for all of them to report what their internet bill is and how fast their connection is supposed to be. After a while that fails to turn into a conversation, so they decide to invent utility service markets from first principles, then move on to incorrecting one another about economics vocabulary.

Re: Linkdump

Verfasst: 11.10.2019, 14:49
von Jonathan
https://callingbullshit.org

Wie man Dinge interpretiert und schlechte Interpretationen erkennt.
(Ich dump das auch mal für mich selber, hab die Seite noch nicht sehr intensiv angeschaut)

Re: Linkdump

Verfasst: 29.10.2019, 12:05
von joggel
Der Link hat zwar relativ wenig mit Entwicklung zu tun, aber ich finde das mal ne lustige Idee:
https://duckduckgo.com/tty/

Re: Linkdump

Verfasst: 06.11.2019, 13:49
von joggel
Und mal wieder ein Linkdump von mir.
Lief mir vor die Flinte. Da hier ja hardcore tuner sind und sich mit SSE/SIMD beschäftigen:
Diese Seite soll wohl gut erklärend sein, da sie passende Grafiken zun den Befehlen bereitstellt. (Klick auf Befehle ;) )

https://www.officedaytime.com/simd512e/

Re: Linkdump

Verfasst: 06.11.2019, 23:56
von Alexander Kornrumpf
Krishty hat geschrieben: 23.09.2019, 12:30 http://n-gate.com/ kommentiert gehässig jeden Sonntag die populärsten „Hacker“„News“-Schlagzeilen der Woche.
Großartig.

Re: Linkdump

Verfasst: 04.02.2020, 17:43
von Krishty
Falls auch ihr schon mal einen eigenen Container geschrieben habt, testet ihn doch mal mit dieser Klasse aus den Visual C++-CRT-Tests: https://twitter.com/MalwareMinigun/stat ... 3990097920

Re: Linkdump

Verfasst: 11.02.2020, 20:29
von Krishty
Braucht ihr ’ne trendy Palette für eure Pixel-Kunst? MSPaint kann euch eine erzeugen (bzw. ClearType, wenn man’s genau nimmt)

https://twitter.com/fefairys/status/1226296396044623872

Re: Linkdump

Verfasst: 12.03.2020, 22:48
von Krishty
Erinnert ihr euch an das Paper, in dem untersucht wurde, ob statisch typisierte Sprachen die Fehlerrate drücken?

Nun, es hatte Fehler, wurde nicht repliziert, die Daten waren falsch, die Projekte waren falsch ausgewählt, die Replikation war falsch, …
https://www.hillelwayne.com/post/this-i ... e-happens/

Am besten vergesst ihr das alles sofort wieder.

Am Ende wird die richtige Frage gestellt: Selbst wenn wir das irgendwie wieder gerade gebogen kriegen – kann man von der Commit-Rate einiger github-Projekte darauf schließen, wie hoch die Fehlerrate einer Sprache ist?

Re: Linkdump

Verfasst: 13.03.2020, 08:37
von Alexander Kornrumpf
Ich erinnere mich nicht an das Paper, und ich konnte dem Artikel bei oberflächlicher Lektüre auch nicht entnehmen, was es bedeuten würde, wenn die eine oder die andere Seite recht hätte.

Zu der Frage, die du hervorhebst:

So wie ich es verstanden habe schließen sie nicht von der Commit-Rate auf die Fehlerrate der Sprache. Sondern: über alle Projekte und Sprachen bedeutet eine höhere Commit-Rate eine überproportional und signifikant höhere Anzahl an Bugfix commits (proportional höher wäre offensichtlich langweilig). Der Teil scheint weitestgehend unstreitig und ich sehe darüber hinaus auch keinen Grund anzunehmen, dass die Falschklassifikationen der Commit-Arten von der Sprache abhängen.

Wenn wir auf der Grundlage annehmen, dass mehr Commits besser sind, dann ist die berechtigte Frage ob die Anzahl an commits von der Sprache abhängt. Ich finde den Gedanken an sich plausibel.

Die Antwort scheint zu sein: Auf Github ist das für mindestens vier Sprachen so (bestätigt von beiden). Wie gesagt, leider konnte ich nicht herauslesen für welche vier Sprachen und in welche Richtung vom Durchschnitt.

Wenn man das glaubt muss man sich natürlich fragen wie repräsentativ Github für die Verwendung der Sprache in freier Wildbahn ist, da hätte ich aber weniger Sorgen.

Die viel entscheidendere Frage mMn ist, "was an der Sprache macht, dass es so ist". Das Typsystem scheint mir hier nur einer von potentiell sehr vielen Faktoren zu sein.

Re: Linkdump

Verfasst: 31.03.2020, 10:02
von Krishty
Bruce Dawson analysiert, warum Chrome so lange zu kompilieren dauert: https://randomascii.wordpress.com/2020/ ... -chromium/
The 30,137 compile steps that I tracked consumed a total of 11.6 million lines of source code in the primary source files. However the header files included by these source files added an additional 3.6 billion lines of source code to be processed. That is, the main source files represent just 0.32% of the lines of code being processed.

It’s not that Chromium has 3.6 billion lines of source code. It’s that header files that are included from multiple source files get processed multiple times, and this redundant processing is where the vast majority of C++ compilation time comes from. It’s not disk I/O, it’s repeated processing (preprocessing, parsing, lexing, code-gen, etc.) of millions of lines of code
Das war mir eigentlich schon immer klar, und ich sage seit jeher, dass Header ein O(n²)-Problem sind.

Bild

Ich kann bei Chromium und bei allen Mega-Projekten, die ich in der Wirklichkeit getroffen habe, nicht nachvollziehen, warum die nicht unter Hochdruck und mit höchster Priorisierung daran arbeiten, auf C++’20-Modules umzusteigen. Das müsste eigentlich einen gigantischen Produktivitätsschub auslösen. Chromiums Build-Zeit dürfte mit Modules auf ein Hundertstel(!) sinken (unter der pessimistischen Annahme, dass alle Header doppelt so groß sind wie die cpp-Dateien), Disk-IO (das aktuell überhaupt nicht ins Gewicht fällt), außen vor.

Re: Linkdump

Verfasst: 02.05.2020, 11:03
von Krishty
Jemand kümmert sich um das Problem der Reproduzierbarkeit von SIGGRAPH-Papern: https://replicability.graphics/

Re: Linkdump

Verfasst: 14.05.2020, 21:40
von Krishty


https://news.developer.nvidia.com/rende ... -realtime/
[…] allows direct lighting from millions of moving lights with today’s ray budgets. The approach requires no complex light structure, no baking, and no global scene parameterization, yet gives results up to 65x faster than prior state of the art. All lights cast shadows, everything can move arbitrarily, and new emitters can be added dynamically.
Das klingt erstmal krass, aber für Cat scheint es solide zu sein. Muss mich mal einlesen.