PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fixed-Function-Software auf Nur-Shader-Hardware


loewe
2008-12-14, 18:59:02
Das Thema sagt es, denke ich.
Wenn alte Software auf moderner Hardware ausgeführt werden soll, entsteht doch das Problem, dass die moderne Hardware keine fixed-fubction Einheiten hat und somit die fixed-function Aufrufe über Shader emuliert werden müssen.

Wer erstellt dabei jetzt die Shader? Macht das Windows automatisch? Wie sehen diese Shader dann aus, sprich nehmen die irgendwie Rücksicht auf die Hardware oder ist das ein Standard der immer gehen muss? Oder macht das der Treiber der Grafikkarte?
Wenn es Windows ist, kann man das umgehen und eigene Shader verwenden?

Gast
2008-12-14, 19:18:06
Genau weiß ichs nicht, aber logisch wärs wenn das der Treiber macht. Der kennt den Funktionsaufruf und die Hardware und kann das entsprechend umsetzen.

Windows könnte das IMHO gar nicht machen, dazu müsste es ja die Hardwareinnereien genau kennen.

Davon abgesehen könnte ich mir vorstellen dass auch moderne Grakas so Sachen wie lineare Filterung u.ä. noch in Hardware haben, wäre ja sinnvoll. Diese Sachen sind dermaßen grundlegend und werden auch in Zukunft immer gebraucht werden, da ist es schon sinnvoll wenn man das direkt in Hardware gießt.

Demirug
2008-12-14, 19:21:44
Bei Windows XP ist immer der Treiber verantwortlich.

Bei Vista erzeugt die Runtime für Shader Model 3.0 fähige Karten automatisch die Shader. Die Treiber müssen da keine Fixed Functions mehr unterstützen.

Solche fixed functions Shader sind nun dermaßen simpel das man bei den 3.0 Karten da keine Rücksicht nehmen muss. Da limitiert in der Regel sowieso immer was anderes als die Shaderleistung.

Was du mit dem austauschen erreichen willst ist mir nicht ganz klar. Direkt unterstützt wird es nicht weil es eigentlich keinen Sinn macht.

loewe
2008-12-14, 19:44:43
Bei Windows XP ist immer der Treiber verantwortlich..
Ja, da war es mir weitgehend klar

Bei Vista erzeugt die Runtime für Shader Model 3.0 fähige Karten automatisch die Shader. Die Treiber müssen da keine Fixed Functions mehr unterstützen.

Solche fixed functions Shader sind nun dermaßen simpel das man bei den 3.0 Karten da keine Rücksicht nehmen muss. Da limitiert in der Regel sowieso immer was anderes als die Shaderleistung..
Was du mit dem austauschen erreichen willst ist mir nicht ganz klar. Direkt unterstützt wird es nicht weil es eigentlich keinen Sinn macht.
Genau so ähnlich hatte ich es mir vorgestellt! Danke!
Mit dem Limitieren hast Du sicher Recht, wenn es um die echten Grafikkarten geht, aber bei integrierter Grafik wie Poulsbo sieht das schon anders aus!
Z.B. der SGX535 hat zwei Pipes mit je zwei ALUs und je vier Threads, so dass 16 Operationen gleichzeitig möglich sind. Wenn du hier jetzt mit 32 Bit float reingehst, hast du auch genau 16 OPs. Sollten aber auch 16 Bit fixed point oder sogar 8 Bit integer möglich sein kannst du die Shader-Leistung verdoppeln bzw. vervierfachen!

Wenn es also so ist, dass immer alles mit 32-bit float Shadern als Standard erledigt wird, ist klar das man hier durchaus noch Potential hat.
Es bleibt also noch die Frage, wie kompliziert so etwas ist.

Coda
2008-12-14, 19:58:02
Bei Vista erzeugt die Runtime für Shader Model 3.0 fähige Karten automatisch die Shader. Die Treiber müssen da keine Fixed Functions mehr unterstützen.
Meinst du nicht 2.0?

Demirug
2008-12-14, 21:58:00
Mit dem Limitieren hast Du sicher Recht, wenn es um die echten Grafikkarten geht, aber bei integrierter Grafik wie Poulsbo sieht das schon anders aus!
Z.B. der SGX535 hat zwei Pipes mit je zwei ALUs und je vier Threads, so dass 16 Operationen gleichzeitig möglich sind. Wenn du hier jetzt mit 32 Bit float reingehst, hast du auch genau 16 OPs. Sollten aber auch 16 Bit fixed point oder sogar 8 Bit integer möglich sein kannst du die Shader-Leistung verdoppeln bzw. vervierfachen!

Wenn es also so ist, dass immer alles mit 32-bit float Shadern als Standard erledigt wird, ist klar das man hier durchaus noch Potential hat.
Es bleibt also noch die Frage, wie kompliziert so etwas ist.

Wurde der SGX535 überhaupt irgendwo verbaut was man als Vista tauglich einstufen könnte?

Davon ab gerade bei IGPs hängst du wenn du noch viel schneller an der Bandbreite als bei einer Grafikkarte.


Meinst du nicht 2.0?

Ja mein Fehler. Das mit dem 3.0 war mal während der Beta.

loewe
2008-12-15, 08:39:03
Wurde der SGX535 überhaupt irgendwo verbaut was man als Vista tauglich einstufen könnte?
Kann man den SGX535 überhaupt irgendwo verbauen, wo man das Gerät als Vista tauglich einstufen könnte? *g*
Poulsbo, besser intel SCH, wird in MIDs und Netbooks verbaut, als CPU hast du dann einen Atom mit 800 MHz bis 1600 MHz, bei maximal 2GB RAM. XP läuft darauf schon ganz ordentlich, Vista ist sicher nicht schnell, aber es geht. Problematisch sind leider immer noch die Treiber, XP Treiber gibt es für den SCH nur als Beta ohne jede Hardwarebeschleunigung, den Vista Treibern fehlt OGL Unterstützung in Hardware völlig und DX ist grottig. Der Treiber ist halt von intel/Tungsten. :(

Davon ab gerade bei IGPs hängst du wenn du noch viel schneller an der Bandbreite als bei einer Grafikkarte.
Sicher ist Bandbreite ein Problem, aber es ist ein TBDR und was geht oder was nicht könnte man sehen, wenn es dann mal einen ordentlichen Treiber geben würde.

Demirug
2008-12-15, 09:14:24
Das die für IGPs zuständige Abteilung keine Treiber schreiben kann ist ja nichts neues.

Das es ein TBDR ist spielt hier keine entscheidende Rolle. Es geht um das Verhältniss von benötigter Rechenleistung zu Bandbreite bei den tatsächlich berechneten Pixel. Bei fixed funktion hat man in der Regel ein Textursample pro Rechenanweisung. Dazu fällt aufgrund der kürze der Sequenz das Writeout auch stärker ins Gewicht.

robbitop@work
2008-12-15, 16:05:56
Das die für IGPs zuständige Abteilung keine Treiber schreiben kann ist ja nichts neues.

Das es ein TBDR ist spielt hier keine entscheidende Rolle. Es geht um das Verhältniss von benötigter Rechenleistung zu Bandbreite bei den tatsächlich berechneten Pixel. Bei fixed funktion hat man in der Regel ein Textursample pro Rechenanweisung. Dazu fällt aufgrund der kürze der Sequenz das Writeout auch stärker ins Gewicht.
Müsste das bei einem TBDR nicht schwächer ins Gewicht fallen, da nur der Backbuffer in den RAM geschrieben wird und der Framebuffer selbst Tile für Tile chipintern in den Tilebuffern gerendert wird?

Ich verstehe allerdings auch nicht, warum Intel PowerVR nicht die Treiber für ihre eigene Hardware schreiben lässt. Vieleicht wird das Teil dann zu gut? ;) Soweit ich weiß, wird derzeit beim Poulsbo vieles nur emuliert und es liegt einiges brach.

Coda
2008-12-15, 16:12:23
Trotzdem dürfte auch ein TBDR inzwischen weit mehr ALU- als TMU-Leistung haben, oder nicht? Sobald das der Fall ist spielt es keine Rolle mehr.

Fixed Function ist eben fast ausschließlich TMU limitiert was die Recheneinheiten angeht.

robbitop@work
2008-12-15, 16:18:58
Na das sind ja nur embeded Chipsätze. Das kann man mit den Desktop GPUs schwer vergleichen. Wer weiß, was die neben geringer Anzahl an Ausführungseinheiten noch alles einsparen mussten, um in PDA-taugliche Bereiche (wenige sqm DIE-Fläche, wenige hundert Milliwatt Leistungsaufnahme, wenige Millionen Transistoren).
Soweit ich weiß, ist beim SGX 535 das TMU:ALU Verhältnis bei 1:2.

Coda
2008-12-15, 16:44:07
Darauf läuft aber auch kein Vista, oder?

robbitop
2008-12-15, 20:07:35
Darauf läuft aber auch kein Vista, oder?
http://www.intel.com/design/chipsets/embedded/SCHUS15W/index.htm

Coda
2008-12-15, 20:09:41
Wie auch immer, ich glaube dennoch nicht dass bei Legacy-Emulationsshadern wirklich die ALUs limitieren. Selbst bei 2:1 nicht.

loewe
2008-12-16, 16:57:13
Trotzdem dürfte auch ein TBDR inzwischen weit mehr ALU- als TMU-Leistung haben, oder nicht? Sobald das der Fall ist spielt es keine Rolle mehr.

Fixed Function ist eben fast ausschließlich TMU limitiert was die Recheneinheiten angeht.

AFAIK hat SGX530 zwei Pipes mit je 2 ALUs mit je 4 Threads, aber nur eine TMU. Die Kombination gilt als "well balanced".
Der SGX535 hat dann noch eine zweite TMU zusätzlich, wenn ich nicht irre.

loewe
2008-12-16, 17:04:51
Darauf läuft aber auch kein Vista, oder?
Doch natürlich läuft darauf Vista, was man so laufen nennt!

http://www.pocketables.net/willcom-d4.html
http://www.pocketables.net/2008/07/review-kohjinsh.html
http://www.umpcportal.com/2008/12/asus-r50a-umpc-unboxing-and-first-impressions

Alles Geräte mit Vista auf intel GMA500 und Atom CPU.

Willcom D4 hab ich in der Hand gehabt und ein wenig Serious Sam drauf gespielt, war aber bei PowerVR mit ihren Treibern.

Gast
2008-12-17, 15:24:00
Vista auf solchen Geräten ist wie der versuch einen Elefanten durch ein Nadelöhr zu quetschen.
Sorry, aber ich muss mic hden ganzen Tag auf Arbeit mit Vista auf einem 2 x 1,8 GHZ Core2Duo rumschlagen (2GB RAM). Mit ner Geforce 7600 Grafik und da ist Vista schon ohne Aero kein Vergnügen.
Dann stell ich mir das auf so nem minidingens mit der Leistung lieber nicht vor.
AFAIK hat doch M$ höchstselbst sogar das Leben von WinXP verlängert damit die Netbooks (die immerhin 1,6Ghz Atoms haben) halbwegs benutzbar bleiben.
Und dann son überdimensionales Handy mit Vista... *shocked*
Als nächstes versucht noch jemand nen 40-Tonner mitm Trabbimotor zu bewegen...

loewe
2008-12-17, 19:14:28
Das ist so aber doch etwas übertrieben!
Ich habe hier Vista auf einem Athlon XP 2500 mit 1 GB RAM laufen und für normalen Computereinsatz, Texte, INet usw. reicht das schon.
Etwas schlimm wird es wenn meine Frau mal schnell 30 Bilder gleichzeitig aufmacht. ;)

Krishty
2008-12-17, 19:30:28
…Mit ner Geforce 7600 Grafik und da ist Vista schon ohne Aero kein Vergnügen.Ist ja klar, ohne Aero ist Vista um einiges träger und CPU-lastiger. Es auf schwachen PCs abzuschalten obwohl man eine kompatible GPU zur Verfügung hat ist ziemlich kurzsichtig.

Wenn ich Aero nachts zugunsten eines augenfreundlicheren Themes abschalte macht sich das sogar auf meinen C2Q deutlich bemerkbar, und in der Hinsicht bin ich wirklich nicht empfindlich. Wie sich das erst auf einem schwächeren System anfühlt will ich garnicht so genau wissen.

Gast
2008-12-18, 10:05:50
okay... ich habe in meiner naivität ernsthaft angenommen, dass ein abschalten von Aero bedeuten würde, er würde nicht den ganzen Schrott dafür über die CPU rendern, sondern einfach abschalten und auf das nötigste reduzieren, schon des Speicherbedarfes wegen... (Bei XP kann er die Taskleiste ja auch ohne große CPU-Last zeichnen)... Da hab ich ihm wohl zuviel Intelligenz zugetraut.

Tschuldigung, ich bin Programmierer! Ich hab für Transparente Fensterchen die animiert ausfaden genausowenig was übrig wies mir was bringt wenn das Hündchen in der Windows-searchengine mit dem schwanz wedelt!
Das ganze ist kein Videospiel sondern ein Betriebssystem! Und das hat nur die nötigsten Ressourcen zu verbrauchen und den Rest mir und den Anwendungen zur Verfügung zu stellen!
Nur weil die Redmoder aufm Sissi-Trip sind und alles "niedlich" und "hübsch" sein muss (und Speicherfressend), ist das noch lange nicht sinnvoll und nützlich.
Der Kernel mag ja gut sein wie er will, aber in Sachen Oberfläche übertreiben die Jungs gewaltig!
Wozu kauft man eigentlich maschinen mit X GigaFLOPs wenn nachher ein Viertel davon wieder von so nem schnickschnack aufgefressen wird!?
Da kann ich gleich ein System mit einem viertel weniger Leistung kaufen und dafür ein OS installieren das auf das Zeugs verzichtet!
Würde Summa summarum auf das selbe rauslaufen.

Nebenbei, ich rede nicht von "normaler computernutzung"...den job machen die netbooks schon ganz gut...
Hier läuft Visual Studio, SQL-Server management-Studio, Firefox, IE, ab und zu auch mal Photoshop.

Und nur um das klarzustellen, mein kleines 12-Zoll-Notebook mit 1,6GHz-Zwillingen älterer Generation (Yonah) fühlt sich in _allen_ belangen reaktionsschneller und flüssiger an!
Soviel zum Thema Prozessoreffizienz und Taktrate...
Die für grafische Spielereien in den Orkus geht....

Und wohlgemerkt, wir reden hier über Systeme weit oberhalb eines 1,3GHz Atom.
Nebenbei hätte M$ wohl kaum den "Trick" mit XP begangen, welches eigentlich schon auslaufen sollte, wenn Vista auf Atom-Geräten wahnsinnig benutzbar wäre...

grüßchen
ich

Benedikt
2008-12-18, 13:19:42
Tschuldigung, ich bin Programmierer! Ich hab für Transparente Fensterchen die animiert ausfaden genausowenig was übrig wies mir was bringt wenn das Hündchen in der Windows-searchengine mit dem schwanz wedelt!
Das ganze ist kein Videospiel sondern ein Betriebssystem! Und das hat nur die nötigsten Ressourcen zu verbrauchen und den Rest mir und den Anwendungen zur Verfügung zu stellen!
Wenn du ein Programmierer bist dann weißt du als Windows-Poweruser sicher, dass man Aero aktiv lassen kann und die Ein-/Ausfadeeffekte unter Vista getrennt davon abschalten kann. Aero würde ich auf jeden Fall aktiv lassen. Um die Trägheit von Vista loszuwerden, einfach die Animationen deaktivieren.

Coda
2008-12-18, 15:33:32
So ist es. Man muss den Nervkram von Aero halt ausmachen. Weiß nicht was da das Problem ist.

Krishty
2008-12-18, 15:57:44
Wozu kauft man eigentlich maschinen mit X GigaFLOPs wenn nachher ein Viertel davon wieder von so nem schnickschnack aufgefressen wird!?
Da kann ich gleich ein System mit einem viertel weniger Leistung kaufen und dafür ein OS installieren das auf das Zeugs verzichtet!
Würde Summa summarum auf das selbe rauslaufen.Selbst wenn ich ein volles Firefox wild herumwedel steigt die GPU-Auslastung nicht über 5%, während der normalen Arbeit (VS, viel Firefox, Thunderbird, diverse Help-Files und etliche Ordner im Explorer) liegt sie ständig bei 0%. Noch dazu wird Aero bei Fullscreen-Anwendungen automatisch deaktiviert.

Wie meine Vorredner sagten: schalt die Animationen aus und es müsste perfekt laufen. Du findest die Einstellungen unter Systemsteuerung\System -> Erweiterte Systemeinstellungen -> Karteikarte Erweitert -> Leistung. Vielleicht hast du aber auch deine Doppelklickgeschwindigkeit zu langsam eingestellt? (http://blogs.msdn.com/oldnewthing/archive/2008/04/23/8417521.aspx)