Adobe ontkent gpu-versnelling Photoshop CS4

Adobe heeft bij monde van John Nack laten weten dat de opvolger van Photoshop CS3 niet noodzakelijkerwijs de beschikking zal krijgen over gpu- of physiscsondersteuning, iets wat zaterdag wel op het internet was verschenen.

Adobe logo (75 pix)John Nack, die als senior product manager Photoshop werkzaam is bij Adobe, heeft enkele weken geleden een demonstratie gegeven van enkele nieuwe features van toekomstige Photoshop-edities. Tijdens deze demonstratie is ook de gpu- en physicsversnelling aan het aanwezige publiek gepresenteerd, maar is er niet aangegeven dat deze feature zeker in de opvolger van Photoshop CS3 terecht zou komen. Wel is er verteld dat het ging om experimentele functionaliteit in de vorm van een technology preview die in een toekomstige Photoshop-editie zou kunnen belanden.

Verder stelt Nack dat de Photoshop CS4-lanceringsdatum van 1 oktober uit de lucht is gegrepen. Volgens de productmanager is nog niet bekend wanneer de opvolger van Photoshop CS3 op de markt komt, maar zal dit niet 1 oktober zijn.

Door Harm Hilvers

Freelance nieuwsposter

26-05-2008 • 20:56

44

Reacties (44)

44
41
6
4
0
0
Wijzig sortering

Sorteer op:

Weergave:

Iedereen denkt een beetje te makkelijk over GPU toevoeging in Photoshop. Het probleem van GPU's is dat ze weliswaar heel snel zijn, maar alleen wat betreft zaken die in het RAM van de grafische kaart staan. Ze kunnen niet eventjes snel met het gewone werkgeheugen praten. Je zul constant grote hoeveelheden data over de PCIe bus heen en weer moeten schuiven... en dat kan makkelijk de potentiele winst van de GPU verpesten. Verder is de hoeveelheid geheugen op de grafische kaart i.h.a. beduidend minder dan het werkgeheugen, en dus komt er ook nog extra geheugenmanagement bij kijken.

Daar tegenover staat dat het momenteel verschrikkelijk snel gaat wat betreft multicore cpu's. Dual-core is al standaard, en het lijkt er op dat binnen niet al te korte tijd ook 4-weg systemen behoorlijk mainstream zijn. Effectief gebruikt daarvan kan ook een enorme performance boost leveren, met veel minder overhead.
Daarnaast moet je meenemen dat Photoshop (de volledige versie althans) niet echt een mainstream-applicatie is, en de high-end workstations die pro's gebruiken kunnen meestal nog net een tandje extra. Maar goed, als er games komen die enorme textures gebruiken zonder dat dit (te) inefficient is moet het ook kunnen met photoshop (elke laag is eigenlijk 1 texture)...
wel met het verschil dat in photoshop het volledig lossless moet zijn en dat textures voor games lekker gecompressed kunnen worden. Het is niet zo erg als er een pixel een net iets andere tint heeft die dicht bij het orgineel ligt bij een game, dit is in photoshop "not done".

Alles moet pixel perfect zijn en de bewerkingen die je uitvoert op een bestand wil je ook van zeer hoge kwaliteit hebben. Nu hoor je mij zeker niet roepen dat GPU's hier ongeschikt voor zijn, maar technologieen als directX en OpenGL (die hierboven al genoemd worden en ook gebruikt worden om textures te laten zien) zijn niet geschikt voor highend beeld bewerking, hoogstens voor een preview.

Hier wordt dan ook goed gebruik van gemaakt in programma's als aftereffects (openGL) of een willekeurig 3d programma (directX en OpenGL), voor je definitieve render zal je toch op een andere manier je GPU moeten aanspreken (bv. via CUDA in geval van Nvidia).

Ik denk dat je er niet te licht over moet denken om het bulk (dat wil je als adobe zijnde) van de grafische markt te ondersteunen terwijl er nog enorm veel ontwikkeling is aan de API's van de fabrikanten en er zeker nog geen standaart is om het via te laten lopen.
Dit is echt niet het complete verhaal, het grote verschil met CUDA en OpenGL is dat CUDA de kaart directer kan aanspreken, zonder de tussenkomst van grafische objecten. Dat wil echter niet zeggen dat je GLSL, de OpenGL shader extensie, niet kunt gebruiken voor exacte berekingen die nogal parallel uitgevoerd kunnen worden. Zolang men eerst de berekening vertaald naar een graphisch object, zoals een texture. Gezien Photoshop hoofdzakelijk dit soort dingen doet met de filters lijkt me de te behalen winst hier nogal groot.Uiteraard is dit op de huidige generatie kaarten alleen in single precision mogelijk, maar voor de volgende generatie Nvidia's wordt dit double precision.
De wetenschappelijke wereld gerbuikt al een aantal jaren GLSL of de DirectX shading language, voor berekening op de grafische kaart. Cuda is de laatste tijd extreem goed aan het worden doordat het directer de hardware aanspreekt, maar dus ook lastiger te leren en meer hardware specifiek.
Dit is eigenlijk een beetje het tegenstrijdige van het PS verhaal. Ja het is bedoelt voor de zakelijke markt die beschikken over high-end systemen maar... veel consumenten draaien een rip om gebruik te maken onder het motto dat ze met paint/coreldraw niet hetgeen kunnen doen wat PS wel doet. Scalen enzow ...
Dat daar gelaten is het voor Adobe helemaal niet interessant om een aparte engine in te bouwen dat te ondersteunen wat de zakelijke markt niet noodzakelijk nodig heeft. Die beschikken toch al over systemen om zonder problemen met grote files om te kunnen gaan en zullen dan ook niet zoveel profijt ondervinden van de mogelijke GPU kracht tov de niet licentie betalende consument.
Dat is nou juist het punt, die GPU's kunnen dacht ik beter omgaan met enorme gigapixelfoto's dan de CPU's dat kunnen, zelfs de high-end dual quads (volgens mij). En zelfs al doet de GPU dat niet extreem veel sneller, als een GPU minder stroom vreet bij deze taken dan een CPU is het voor bedrijven ook interessant, want dat is (iets) meer/gelijke prestaties voor minder geld.
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]

Physics en GPU acceleration worden weldegelijk toegevoegd aan CS4, alleen is het nog niet duidelijk waneer deze stabiel zijn.
Adobe gaat zeker niet een lanceer datum bekend maken in oktober, dan verkopen ze geen licenties meer tot die tijd.
Waar haal je deze wetenschap vandaan? Een van de belangrijkste Photoshop-developers stelt juist expliciet dat het maar de vraag is of deze features überhaupt wel in Photoshop terechtkomen, en dan ga jij beweren dat het weldegelijk zeker is? Dan ben ik benieuwd op welke harde feiten en argumenten jij je baseert.
Verwijderd @Harm27 mei 2008 23:48
De demo is gegeven met CS4 engine van Adobe, deze is in ontwikkeling, en kan makkelijk worden toegevoegd. Het is duidelijk te zien dat er gebruik gemaakt wordt van een polygone object, die wordt gevuld met een UV mapping en textures.

Deze techniek is al heel lang toegepast in software als Autodesk Maya en 3D Studio, en kan op elke Windows computer met GPU acceleratie draaien.
OpenGL, DirectX andere GPU acceleratie techieken zijn niet voor spelletjes alleen!
Nu hoeven ze voorlopig geen releasedatum vrij te geven en kunnen ze rustig ontwikkelen, wat op zich niet slecht is, zeker niet omdat CS3 nog niet zo lang uit is :)

Verder heeft Adobe ook een goeie reputatie hoog te houden en zullen ze eerst denk ik wel duidelijke afspraken willen maken met de GPU bakkers om problemen te vermijden, gezien de slechte hostorie van GPU drivers bij alle merken.
En als er een release datum voor CS4 bekend is zal niemand nog CS3 kopen, want CS4 "komt zo uit" . Als je weet hoe lang het KAN duren iets te bestellen in een bedrijf......
Ik denk dat dat wat overdreven is: "als er eenmaal een 64 bit Windows XP is, dan koopt niemand nog een 32 bit Vista" riep men jaren geleden. Toch koopt vrijwel niemand een 64 bit Windows XP.
Een beetje een non-vergelijking. Stel je staat nu op het punt CS te kopen, en je hoort dat CS4 al snel uit komt, dan wachten inderdaad veel mensen nog even met aanschaffen. Het verschil met XP echter is, dat bijna iedereen toen al XP had, dan is de meerwaarde naar een 64-bits versie niet zo groot meer voor de gemiddelde consument. Bovendien is XP 64 relatief onbekend voor de gewone consument.
Wel vervelend dat Adobe zo traag is met het implementeren van GPU-accelleratie in haar software-pakketten. Dit zou vooral bij bv. Premiere en After Effects kunnen leiden tot een revolutie in video-montage.
zeker met het afrenderen... man daar wordt je gek van...

maar het zal wel te lastig zijn. maar als ze samen zouden weken met amd/nvidia... dan zouden ze zeker met CUDA etc mooie dingen kunnen doen...
CUDA en amd? Heb ik iets gemist? Of bedoel je amd OF nvidia?
Whieee Moderator Apple Talk @Exploited27 mei 2008 12:19
Op dat vlak heeft Apple met Final Cut Studio ook al een voorsprong op Adobe (helaas voor PC gebruikers is het uiteraard wel Mac-only). Veel features in Final Cut Studio (en dat met name in Motion en Shake) zijn afhankelijk van de GPU. Met een goede GPU leveren die applicaties de mogelijkheid tot het realtime bewerken van zaken die bij de Adobe concurrentie behoorlijk wat tijd in beslag nemen.

Adobe zou er ook zeker goed aan doen om GPU-added editing snel te gaan implementeren in de verscheidene pakketten.
Deze hele berichtgeving zou ook wel eens het bekende "visje uitgooien" kunnen zijn. Kijken hoe de gemeenschap er op reageert, welke ideeen er leven, de wensen, verlangens en verwachtingen etc. en daarmee zou Adobe weer aan de slag kunnen gaan...
De GPU versnelling zou de enige rede zijn om een nieuwe versie te kopen... Als ze dat er niet in gaan doen zullen waarschijnlijk veel mensen niet updaten of deze nieuwe versie gaan kopen.
mwa, in de grafische industrie zit je meestal aan de laaste versie vast, omdat er altijd wel iemand is die de laaste versie gebruikt.
Het kan toch zijn dat ze de (volgens sommigen minder accurate) GPU gebruiken voor de preview op je scherm. En dat ze dan de CPU gebruiken als je je bestand opslaat of exporteert.
Ik zou niet weten waarom ze dat niet zouden doen. De basis hebben ze al met hun Photoshop Extended OpenGL ondesteuning.
er wordt ook niet gezegd dat ze het niet zullen doen, er wordt gezegd dat het in "een" toekomstige versie zal zitten, maw als de ontwikkeling goed verloopt en ze op schema zitten, kan het misschien in de volgende versie zitten, of met veel pech in 2 versies later bvb.
Omdat ze misschien de optie willen ophouden om het te schrappen als het niet klaar zou zijn voor de release van CS4.
het probleem is echter dat GPU's i.t.t. CPU's veel verschil hebben in hoe ze aangestuurd dienen te worden. Kijk bvb eens naar Folding@home waar ze erg veel moeite moeten doen om een generatie gpu's van een fabrikant te ondersteunen. Nu zou adobe dat dus voor zowel Nvidia als AMD moeten doen bij zo'n 3 serie's per fabrikant (de lading Intel gpu's nog buiten beschouwing gelaten).
Met een instructieset als Direct3D of OpenGL lijkt me dat toch een stuk minder complex hoor?
Het probleem is dat je het absoluut identiek wil op alle hardware, terwijl men voor veel bewerkingen nog een marge heeft van een paar bit. In games is dat meestal niet zichtbaar maar als je in Photoshop tientallen filters gebruikt is dat onaanvaardbaar. Ook kan men niet uitsluiten dat elke driver hetzelfde resultaat geeft.

De CPU is nog steeds veel betrouwbaarder.
ik dacht dat je daar FireGL en Quadro voor had. :P
uitmelken van de markt vermoed ik.

Stel: ze hebben 100 nieuwe features gemaakt sinds CS3. Een mogelijkheid is om deze allemaal in CS4 te steken. Een reden om dat neit te doen is dat ze dan helemaal van nul moeten beginnen met nieuwe dingen bedenken voor CS5. Een oplossing daarvor is dat ze iets van een 70 features in CS4 steken, en dan hebben ze, zonder extra werk, al 30 features voor CS5 klaar.
Nu is iedereen tevreden: Adobe heeft CS5 al deels in de pijplijn, en CS4 is voorzien van 70 nieuwe features, wat ook wel aanzienlijk is, waardoor de klanten ook tevreden zin en CS4 kopen.

Dit gebeurt regelmatig hoor, meestal zonder medeweten van het grote publiek, en als die toch lucht krijgen van nieuwe features, komen ze meestal emt een excuus zols nu, bv dat de nieuwe features nog niet af zijn ofzo.
Nvidia en adobe werken al een tijdje samen met het CUDA systeem van Nvidia, Acrobat zou hier op korte termijn al gebruik van gaan maken (of doet dat zelfs al) Photoshop zou ook vel baat hebben bij paralel processing, het is niet alleen OpenGL en direct 3d wat de huidige videokaarten aan kunnen, er is meer :p

http://www.nvidia.com/object/cuda_home.html
Dan mag u ook even uitleggen waarvoor u denk dat het gebruikt kan worden in Photoshop.
Voor het versnellen van bewerkingen. GPU's zijn heel goed in een beperkt aantal dingen, dus als Adobe heeft uitgevonden dat afbeeldingen bewerken één van die dingen is (klinkt niet eens zo gek :+) dan mogen ze het er van mij inzetten.
Als het mogelijk is om met dezelfde precisie dezelfde berekeningen uit te voeren (dit is niet zeker) kan dit sneller zijn toch zal er data van en naar de GPU verzonden worden waarbij het gehele proces in de praktijk dus toch weer langzamer kan uitpakken.

De kwaliteit van de resultaten van photobewerking via direct3d zullen waarschijnlijk veelst te laag zijn voro photoshop.
Maar in principe kan een hardwarematige (direct3d of opengl) photobewerkingsprogramma voor de gemiddelde gebruiker weleens de ideale oplossing zijn, nu moet het alleen nog even gemaakt worden.

[Reactie gewijzigd door fevenhuis op 22 juli 2024 23:04]

Het resultaat van een bewerking op een CPU is gelijk aan het resultaat op een GPU. Er zijn alleen wat dingen die een GPU niet kan, de overige dingen doet een GPU veel sneller. De beeldkwaliteit verandert dus totaal niet.
@marcieking.

Dat is een aanname. Je er vanuit dat het algoritme niet veranderd. Dat lijkt me niet logisch. Waarschijnlijk zal een optimaal algoritme voor een GPU anders zijn dan voor een CPU. Dit wijzigen van het algoritme kan ook gevolgen hebben voor de beeldkwaliteit. Misschien positief maar misschien ook wel negatief.
toch zijn GPU's sneller in renderen, dus hoezo verschilt de kwaliteit,
we praten hier toch, niet over gpu versies, van CS4 maar over versnellingen van 'bepaalde' opdrachten.
waarom nietmaak een 3d plane die je rotate
en dan kan je direct3d gebruiken.
dat is op zich sneller dan met de cpu...
alleen voor andere taken wordt het al lastiger
al is een plane met 1 quad per pixel te doen,
en volledig vrij te distorten. (zbrush achtig??)

anyway jammer als het er niet in zou komen,
eerst een lekkermakertje
en dan niet gebruiken .
boycotten die handel :+

[Reactie gewijzigd door freaq op 22 juli 2024 23:04]

en dan kan je direct3d gebruiken.

Erh.. nee, omdat een groot deel van de gebruikers van Photoshop niet op Pc's (of xBoxen) zitten, maar mac's. OpenGL dus.
Wel apart dat jij denkt dat er dus in verhouding bijna geen pc gebruikers zijn voor Photoshop. Dit klopt toch echt niet hoor. Alleen hier op mijn werk hebben inderdaad bijna alle Mac gebruikers wel photoshop (125 man), maar bijna 2 x zoveel pc gebruikers hebben het ook.

Dus ja, in percentages zal van de Mac gebruikers een groter aandeel Photoshop gebruiken dan op de pc, maar veeg het niet aan de kant, want er worden veel, veel meer pc's dan Mac's verkocht.
ok maar dat neemt nog nie weg, dat je niet het zelfde zou kunnen doen met OpenGL

Op dit item kan niet meer gereageerd worden.