Vooralsnog de grootste problemen:
- De GPU programeren om bewerkingen uit te voeren
- Deze bewerkingen efficiënt programeren zodat het daadwerkelijk sneller werkt
- De uitkomst van deze bewerkingen snel genoeg terughalen naar de CPU->RAM
Voor iedere filter en ieder effect zou dus opieuw geprogrameerd moeten worden, speciaal voor de GPU, of ze moeten bij adobe een snelle conversie manier hebben gevonden. Dat laatste betwijfel ik ten zeerste.
DirectX en OpenGL zijn nutteloos, deze voorzien volgens mij geen manier om data terug te halen uit de GPU. Als je data terug wilt halen uit de GPU zul je dit vanaf het begin moeten implementeren, en dat is ook de moeilijkste stap.
Op OSX is de Display weergave aangestuurd door Quartz. Een technologie die berekeningen door de GPU laat uitvoeren, maar deze daarna ook opslaat in zijn eigen display-buffer. Bovendien maakt quartz gebruik van een protocol dat aanleunt bij postscript, maw lijkt het op het pdf-formaat en dat samenwerkt met colorsync.
Met behulp van Quartz zou het dus mogelijk zijn om bewerkingen via de GPU uit te voeren, en daarna terug uit het geheugen te plukken. Dit is echter een mac-only technologie. Al de effectjes in OSX (des te meer in leopard dankzij CoreAnimation) zijn afhankelijk van de displaybuffer van Quartz, en vertellen welk effectje op welk venster moet plaatsvinden. Voor photoshop zal men echter zelf voledig nieuwe effectjes moeten programeren.
Ik denk echter dat adobe met een eigen methode is gekomen, met een soort driver, die portable over beide systemen. Misschien dat driver-isseus een paar problemen vormen.
Vista tovert de effectjes op het scherm met DirectX. Echter zal daar nog een technologie voor zitten, die werkt als displaybuffer, om de verschillende getekende onderdelen te onthouden. Ik ken de technologie niet, en weet niet hoe toegankelijk deze is. Ik denk niet dat het in DirectX zelf is s geïmplementeeerd.
XP heeft gewoon een display driver van de 2-de generatie. (1ste generatie: alles handmattige tekenen: Rij/kolom, 2-generatie: objecten tekenen door ze op te roepen,3de generatie: gewaarwording van wat er werd getekend=>displaybuffer)
*misschien niet geheel correcte termen, maar hier komt het opneer, zoniet moet je replyen.
Ben benieuwd naar linux. Hoe compiz/beryl is geïmplementeerd op X. Beryl/compiz laat meteen zien welke effectjes er wel niet mogelijk zijn om realtime te renderen op eender wat.
[Reactie gewijzigd door g4wx3 op 22 juli 2024 23:04]