Cum să accelerezi Android folosind setările pentru dezvoltatori. Dezvoltatorul Google risipește miturile despre „accelerarea hardware completă” în Ice Cream Sandwich

Sunt șanse să fi văzut opțiunea „accelerare hardware” atunci când utilizați diverse aplicații și dispozitive. Este posibil să fi trebuit chiar să îl activați sau să îl dezactivați pentru a îmbunătăți performanța sau a preveni erorile într-una dintre aplicațiile dvs. preferate, dar este posibil să nu fi știut de ce. În acest articol, vă vom spune tot ce trebuie să știți despre accelerarea hardware și dacă aplicațiile dvs. o pot folosi.

Accelerarea hardware este un termen folosit pentru a descrie sarcini care pot fi descărcate pe alte dispozitive. În mod implicit, în majoritatea computerelor și aplicațiilor, procesorul are prioritate față de celelalte componente hardware. Acest lucru este destul de normal, mai ales dacă aveți un procesor puternic. În caz contrar, poate fi util să utilizați alte componente ale sistemului dumneavoastră. Apoi funcția este activată. Iată câteva cazuri de utilizare populare:

  • folosind AU puteți folosi plăci de sunet pentru a asigura calitate înaltă și înregistrarea sunetului;
  • Plăcile grafice pot fi utilizate cu accelerare grafică hardware pentru a oferi un afișaj media mai rapid și de calitate superioară.

Ce este accelerarea hardware în browser? Într-un cuvânt, aceasta este capacitatea unui program de vizualizare a paginilor de Internet de a-și afișa conținutul cât mai rapid și eficient posibil. În timp ce accelerarea hardware poate fi definită ca practic orice sarcină care este descărcată către ceva care nu este CPU, GPU-urile și plăcile de sunet tind să fie cele mai populare exemple utilizate în software-ul dvs. Doar procesorul dvs. este capabil din punct de vedere tehnic de tot ceea ce pot face aceste dispozitive, mai ales dacă are grafică integrată (la fel de mulți în zilele noastre), dar utilizarea hardware-ului dedicat este în general cea mai bună opțiune.

Valorificarea puterii unui aspect grafic pentru a afișa conținut web în schimbare dinamică, cunoscută sub numele de accelerare hardware, este, fără îndoială, una dintre cele mai interesante caracteristici noi care vin în Firefox 4 și Internet Explorer 9. Potrivit dezvoltatorilor acestor browsere, utilizarea unui GPU va permite pentru a obține performanțe fără precedent până acum, funcționarea rapidă și fără probleme a aplicațiilor de Internet folosind tehnologii moderne. În același timp, acest lucru va ajuta la reducerea sarcinii procesorului, care este mai puțin capabil să efectueze calcule legate de grafică. Acest lucru va afecta direct funcționarea întregului sistem, iar în cazul laptopurilor, și durata de funcționare fără alimentare. Microsoft adaugă îmbunătățiri la calitatea textului și a imaginilor care apar pe ecran și atunci când sunt imprimate pe o pagină. O problemă separată este utilizarea unui aspect grafic pentru a reda grafică 3D utilizând API-ul WebGL.

Utilizarea GPU-urilor în browsere nu este posibilă tot timpul, oriunde și pe fiecare computer. Principalele limitări sunt legate de sistemul de operare: momentan, versiunile beta ale ambelor browsere acceptă doar Windows Vista, 7 și 10. În cazul Internet Explorer 9, acest lucru nu se va schimba nici măcar în versiunea finală, dar Mozilla promite că introduceți soluții care rulează pe alte platforme. Singurul sistem ratat de ambii producători este Windows XP.

De ce ar putea fi necesar să-l dezactivați

Iată cazurile în care probabil ar trebui să dezactivați accelerarea hardware:

  • Dacă procesorul dvs. este cu adevărat puternic și alte componente ale sistemului nu sunt deosebit de puternice, accelerarea poate fi de fapt ineficientă în comparație cu a lăsa puterea să aibă grijă de resursele computerului. În plus, dacă componentele dumneavoastră sunt predispuse la supraîncălzire sau deteriorate în vreun fel, utilizarea intensă a accelerației hardware poate cauza probleme pe care nu le-ați experimenta fără ea;
  • software-ul conceput pentru a utiliza hardware-ul nu funcționează foarte bine sau nu poate funcționa la fel de fiabil ca folosind doar CPU-ul.

Când să-l folosești

Desigur, accelerarea hardware nu este atât de rea. Atunci când este folosit conform intenției, este de fapt foarte eficient. Iată câteva cazuri în care ar trebui să activați accelerarea hardware în aplicațiile dvs.:

  1. Când aveți un GPU puternic și stabil, activarea accelerației hardware vă va permite să profitați din plin de aceasta pentru toate aplicațiile acceptate, nu doar pentru jocuri. În Chrome, accelerarea hardware GPU are ca rezultat, de obicei, o navigare mult mai fluidă și un consum media.
  2. În programele de editare/redare video, cum ar fi Sony Vegas (sau programe de streaming, cum ar fi OBS), activarea accelerării hardware permite utilizarea hardware-ului specializat situat pe dispozitivele acceptate, de obicei GPU sau CPU. (De exemplu, Intel QuickSync este un plus la procesoarele lor moderne concepute pentru redarea și codificarea video rapidă).

Cum se verifică dacă accelerarea hardware este activată

Pe desktop, faceți clic dreapta – Rezoluția ecranului – Setări avansate – Diagnosticare – Modificare setări. Dacă butonul este inactiv, accelerarea hardware este activată.

Pentru Windows 10, utilizați accelerarea hardware: Win+R – dxdiag – Screen – DirectDraw Acceleration, Direct3D Acceleration, AGP Texture Acceleration – toți cei 3 parametri trebuie să fie ON. În caz contrar, accelerarea hardware este dezactivată.

Procedura de activare a accelerației hardware

Cum se activează accelerarea hardware pe Windows 7? Din anumite motive, poate fi necesar să activați accelerarea hardware, de exemplu pentru a rula emulatorul Android în Visual Studio. Doar introduceți BIOS-ul pe computer (Setări - Actualizare și securitate - Recuperare). Sub Pornire avansată, faceți clic pe Reporniți acum și computerul se va reporni. Acest lucru funcționează și pe Windows 10.

După repornire, faceți clic pe „Depanare” - „Opțiuni avansate” - „Setări firmware UEFI” - „Repornire”.

Vi se va prezenta interfața de utilizator BIOS, mergeți la secțiunea Configurare. Asigurați-vă că tehnologia de virtualizare, cum ar fi acceleratorul plăcii grafice „Intel Virtual Technology” sau „AMD-V Virtualization” este activată. Apoi accesați secțiunea finală „Ieșire” și faceți clic pe „Ieșiți și salvați modificările”. Acum aveți accelerație hardware.

Accelerație hardware în Chrome. Ce face și cum se pornește?

Google Chrome vă permite să utilizați placa grafică pentru a reda și scala grafica pe site-uri web. Acest lucru accelerează browserul și eliberează procesorul. Aflați cum să folosiți această oportunitate!

Beneficiile activării accelerării hardware vor fi resimțite în special de utilizatorii cu computere mai slabe sau de cei care folosesc zeci de file simultan. Pentru a activa această caracteristică, introduceți comanda „about:flags” în bara de adrese.

Primul pas este să activați opțiunea Ignorați lista de randare software. Direct sub - altul - procesorul 2D este accelerat folosind GPU (Accelerated 2D canvas), care trebuie de asemenea activat. Utilizatorii Chrome 11 nu vor putea folosi prima opțiune - este activată în mod implicit în această versiune a browserului.

Puțin mai jos există o altă funcție - Redarea inițială a site-ului. De asemenea, trebuie să fie activat. Ultimul pas este repornirea browserului.

Cum să dezactivezi accelerarea hardware

Această funcție se referă practic la utilizarea componentelor PC-ului pentru a efectua o acțiune specifică (de obicei efectuată de software) cât mai repede posibil. Acesta este conceput pentru a face grafica computerului mai fluidă și mai rapidă prin descărcarea funcțiilor de redare grafică pe placa grafică a computerului în locul software-ului și al unității sale centrale de procesare (CPU). Ideea din spatele Accelerării hardware este de a accelera procesele de procesare video, oferind performanțe mai bune.

Primul pas folosește bibliotecile Direct2D și DirectWrite pentru a reda conținutul paginii, rezultând margini mai netede pentru text și grafică vectorială. Performanța de redare a elementelor comune ale paginii, cum ar fi imaginile, chenarele și blocurile de fundal a fost, de asemenea, îmbunătățită. În plus, dacă pagina are video încorporat folosind codecul H.264, placa video poate fi, de asemenea, procesată. În acest moment, accelerarea funcționează atât în ​​Internet Explorer 9, cât și în Firefox 4.

În acest moment, browserul Microsoft utilizează un nou motor de decodare pentru fișierele grafice comprimate care acceptă și formatul TIFF și JPEG XR creat de Microsoft. Acesta din urmă ar trebui să fie succesorul formatului JPEG, oferind un raport imagine-fișier mai bun. Un algoritm mai complex necesită mai multă putere de procesare, așa că utilizarea unui GPU în acest scop este o soluție ideală.

Alcătuirea unei pagini sau combinarea elementelor acesteia se face folosind bibliotecile Direct3D. Imaginile componente (create în pasul anterior) sunt stocate în memoria plăcii grafice, astfel încât să poată fi asamblate rapid într-un singur întreg. Deocamdată doar în Internet Explorer, în viitor și în Firefox 4.

Crearea imaginii rezultate, adică întregul desktop cu fereastra browserului și conținutul acesteia, se realizează folosind componenta de sistem Windows Vista și 7-Desktop Window Manager (DWM). Deoarece folosește biblioteci DirectX, poate folosi direct memoria de imagine deja prezentă, care reprezintă conținutul paginii și o integrează în desktop fără a fi nevoie să încărcați RAM (ceea ce se întâmplă dacă browserul nu folosește biblioteci grafice).

Internet Explorer 9 include, de asemenea, un nou motor de procesare a paginilor de imprimare, XPS. Acest lucru nu numai că vă permite să aplicați rapid toate straturile și să creați o singură imagine din ele, dar îi îmbunătățește și calitatea. De exemplu, toate tipurile de diagrame vor arăta mai bine.

Cum se dezactivează accelerarea hardware în Windows 7? Chiar dacă Windows nu utilizează în mod nativ această caracteristică, este destul de ușor să o dezactivați singur. Dezactivarea Accelerării hardware va face ca software-ul să ruleze în formatul de randare a programului - toate graficele sunt redate de programe, iar munca de redare a graficelor va fi transferată pe GPU.

Cum se dezactivează accelerarea hardware în browserul Yandex? Trebuie să mergeți la setări, să mergeți în partea de jos a paginii, să activați opțiuni suplimentare. Apoi găsiți secțiunea Sistem și debifați „Folosiți accelerarea hardware dacă este posibil”. După repornirea browserului, modificările vor intra în vigoare.

Pentru a dezactiva accelerarea hardware în Chrome, utilizați instrucțiunile pentru browserul Yandex - au setări identice. Dacă problemele persistă după repornirea browserului, încercați următoarele:

  • În bara de adrese, introduceți „chrome://flags” și apăsați Enter;
  • în lista de setări, dezactivați „Accelerare hardware pentru decodarea video” și reporniți programul.

După o repornire, problemele de accelerare vor dispărea. Pentru a dezactiva funcția în Opera, trebuie să mergeți și la setări, să selectați opțiuni suplimentare și, în secțiunea de sistem, debifați caseta „Utilizați accelerarea hardware”.

Pentru a dezactiva accelerarea flash playerului, deschideți orice aplicație flash, faceți clic dreapta pe ea și debifați funcția dorită. Reporniți browserul.

Cum să dezactivați accelerarea hardware în Firefox

În continuare, vom explica cum să dezactivați accelerarea hardware în browserul Mozilla Firefox. Acest lucru poate fi eficient, de exemplu, dacă întâmpinați probleme cu controlerul dvs. grafic, determinând browser-ul să devină instabil sau lent, ceea ce face ca elementele paginilor pe care le vizitați să nu se afișeze corect.

Accelerația hardware nu este acceptată de toate driverele - în unele cazuri pot apărea probleme cu încărcarea elementelor de pe pagină. Deci, dacă descoperiți că atunci când utilizați browserul, paginile se încarcă lent și aveți probleme la lansarea anumitor pagini, dezactivați accelerarea hardware. Acest lucru ar trebui să rezolve toate problemele.


Dacă problema este rezolvată, înseamnă că a fost o problemă hardware care a cauzat funcționarea defectuoasă a browserului.

Dezvoltatorul Google Diana Hackborn a distribuit informații pe pagina sa Google+ cu privire la accelerarea hardware a interfeței în Android 4.0 Ice Cream Sandwich. Emoția care a apărut în jurul acestei funcții nu a fost doar atât - au fost făcute prea multe reproșuri cu privire la netezimea redării elementelor 2D în Android în comparație cu alte sisteme de operare mobile.

Desigur, accelerarea hardware în Android este un lucru pozitiv, dar există multe concepții greșite despre ceea ce este de fapt această caracteristică. În primul rând, Android a susținut accelerarea hardware de mulți ani pentru sarcina de a reda mai multe ferestre (vorbim despre compoziția ferestrelor - bara de activități, notificări, bara de meniu, afișarea și ascunderea elementelor de interfață). Aceasta înseamnă că toate animațiile elementelor de interfață din Android au folosit întotdeauna accelerarea hardware.

Spre deosebire de redarea compoziției ferestrei, redarea imaginii în interiorul unei ferestre a fost realizată în mod tradițional folosind procesorul din Android 2.X și versiunile anterioare. Cu toate acestea, în Android 3.0 Honeycomb, aceste funcții pot fi transferate în acceleratorul grafic, dar numai dacă această opțiune este specificată în mod explicit în manifestul aplicației android:hardwareAccelerated="true". Singura diferență cu Android 4.0 ICS este că atunci când se dezvoltă folosind cel mai recent nivel API disponibil 14 (și toate cele viitoare), această opțiune pentru aplicații este activată „în mod implicit”.

S-ar părea că acum avem capacitatea de a „forța” toate aplicațiile din Android 4.0 ICS să funcționeze cu accelerarea hardware activată, indiferent de manifestul său, nu-i așa? De fapt, acest lucru nu este adevărat. În cazul, de exemplu, cu acceleratorul video PowerVR, driverele utilizate în Nexus S și chiar în Galaxy Nexus consumă 8 MB de RAM pentru fiecare proces care utilizează accelerarea hardware. Nu vi se pare mult? Nu a fost cazul, deoarece un astfel de consum activ de RAM de către multe procese simultan crește semnificativ consumul de memorie în general, ceea ce afectează imediat viteza de multitasking - chiar și până la punctul de a o încetini semnificativ. Drept urmare, echipa de proiectare a Google depune acum un efort semnificativ pentru a regla ce părți ale interfeței cu utilizatorul au nevoie de fapt de accelerare hardware pe Nexus S.

Care este rezultatul final? În comparație cu Android 2.X, Ice Cream Sandwich are mai multe funcții, inclusiv o utilizare mai mare a accelerației hardware. Cu toate acestea, în afară de a fi activată în mod implicit, utilizarea de către ICS a accelerației hardware nu este mai „plină” decât a fost anterior. Și, printre altele, nu uitați că accelerarea hardware nu este o magie sau un miracol, așa cum cred mulți, dar prezența ei este cu siguranță un plus, nu un minus.

Pe baza materialelor Google+ de la Diana Hackborn și Will Verduzco (xda-developers.com)

Îți voi arăta cum să accelerezi tableta Android. În mod implicit, tableta este configurată de producător nu pentru viteză, ci pentru funcționare stabilă și, în plus, producătorul instalează adesea multe dintre propriile programe în tabletă, de care puțini oameni au nevoie, dar pentru aceasta producătorul primește bani de la cei ai căror aplicațiile pe care le-a instalat pe tabletă.

1. Dezactivarea serviciilor și aplicațiilor sistemului

Accesați setări - manager de aplicații. Glisați de la dreapta la stânga pentru a deschide toate aplicațiile.

Mergând la toate aplicațiile, vom vedea o listă cu toate aplicațiile care sunt instalate pe tabletă.

În partea de jos a listei sunt afișate toate aplicațiile dezactivate. Am dezactivat vizualizarea pe stradă, sintetizatorul de vorbire Google, posterul filmului Yandex, știrile Yandex, ambuteiajele Yandex, taxi Yandex pe tableta mea.

De asemenea, am dezactivat managerul de aplicații, hărți, ceasul mondial, imprimarea mobilă, configurarea Google Partner, comunicarea Wi-Fi Direct.

Dezactivat Joacă jocuri, Redă muzică, Polaris Office 5, S Voice, aplicații Samsung, serviciu de imprimare Samsung.

Cărțile Google Play, Filmele Google Play, Căutarea Google Play, Google+, Hangouts sunt, de asemenea, dezactivate pe tableta mea.

Nu am nevoie de toate aceste aplicații și nu le voi folosi, dar dacă sunt pornite, vor fi actualizate, vor ocupa spațiu, îmi vor oferi serviciile și mă vor deranja vizual cu dezordinea lor inutilă.

De asemenea, puteți dezactiva aplicațiile de pe tabletă pe care nu le utilizați.

Pentru a dezactiva o aplicație, faceți clic pe ea în lista de aplicații. Și aici vedem butonul Stop, făcând clic pe care aplicația își va opri funcționarea, dar nu se va opri. Când reporniți tableta, aceasta va începe să funcționeze din nou.

Nu toate aplicațiile de sistem de pe tabletă pot fi dezactivate, unele pot fi doar oprite.

Vă voi arăta cum să dezactivați aplicația încorporată folosind aplicația de mesaje ca exemplu.

De exemplu, o aplicație de mesagerie care vă permite să trimiteți și să primiți SMS-uri de pe tabletă poate fi oprită și dezactivată dacă nu trimiteți sau primiți SMS-uri de pe tabletă.

Faceți clic pe oprire.

Apare o notificare: Oprire forțată. Forțarea unei aplicații să se oprească poate duce la erori. Adică, aplicația de mesaje rulează în prezent. Faceți clic pe da.

Aplicația de mesaje s-a oprit. Acum dezactivați aplicația de mesaje. Faceți clic pe dezactivare.

Apare o întrebare de avertisment: Dezactivați aplicația încorporată?

Dezactivarea aplicațiilor încorporate poate cauza erori în alte aplicații.

Faceți clic pe da.

Aplicația de mesaje este acum dezactivată.

În lista de aplicații puteți vedea că este dezactivată.

Dacă aveți nevoie din nou de aplicația încorporată dezactivată, o puteți activa. Deschideți aplicația dezactivată din lista de aplicații și faceți clic pe activare.

Aplicația de mesaje încorporată funcționează din nou.

2. Opriți rularea aplicațiilor

Accesați setări - manager de aplicații. Glisați de la dreapta la stânga pentru a deschide lista „în rulare”; această listă afișează aplicațiile care rulează în prezent.

Să presupunem că oprim aplicația de înregistrare a vocii pentru copii care rulează pe tabletă (această aplicație vă permite să înregistrați sunete și voci atunci când rulează în modul copii).

Faceți clic pe stop pentru a opri aplicația, descărcați aplicația din RAM (ocupă 2,5 MB de RAM) și opriți funcționarea în fundal, care uneori încarcă și procesorul.

3. Activarea Opțiuni pentru dezvoltatori

Accesați setări - opțiuni pentru dezvoltatori.

Dacă nu aveți Opțiuni pentru dezvoltatori, îl puteți activa.

Pentru a activa opțiunile de dezvoltator, accesați elementul dispozitiv și faceți clic pe linia cu numărul de construcție de 7 ori, după care ar trebui să vedeți elementul opțiuni de dezvoltator.

Am deja opțiuni de dezvoltator pe tabletă, așa că atunci când dau clic pe numărul versiunii, primesc o notificare: nu este necesar, modul dezvoltator este deja activat.

4. Dezactivați animația

Accesați setări - opțiuni pentru dezvoltatori, găsiți elementul de scară de animație a ferestrei și faceți clic pe acest element.

Acum faceți clic pe animație dezactivată pentru a dezactiva animația de tranziție a ferestrei pentru a nu încărca procesorul și procesorul video cu această procedură.

Dezactivăm, de asemenea, scala de animație de tranziție și scala de durată a animatorului.

De asemenea, activăm procesarea GPU forțată pentru a profita de accelerarea hardware în aplicațiile 2D. Astfel, acceleratorul video va prelua procesarea grafică în aplicațiile 2D și va elibera puțin procesorul de această sarcină.

5. Dezactivați procesele de fundal.

Accesați setări - opțiuni pentru dezvoltatori. Găsim procesele de fundal ale articolului, implicit există o limită standard.

Faceți clic pe elementul procese în fundal pentru a edita elementul și pentru a schimba procesele în fundal la procese în fundal, astfel încât, dacă aplicația nu este pe ecran și nu o folosim acum, atunci nu funcționează în fundal și nu irosește putere și nu încarcă procesorul cu munca de fundal.

În acest fel, doar aplicația care rulează în prezent pe ecran va funcționa și nimic nu va „mânca” resursele tabletei în fundal.

Iată un tutorial video despre cum să accelerezi Android.

Introducere

În paralel cu lansarea Windows 7 în urmă cu câteva luni, producătorii de plăci video au introdus multe modele cu noi GPU-uri, după care au început să îmbunătățească driverele pentru produsele lor. Ni se pare că astăzi a trecut suficient timp pentru ca ei să poată face față celor mai stringente probleme sub cel mai recent sistem de operare (care, sincer, nu au fost la fel de critice ca în cazul lui Vista), iar testele obiective ar trebui să arate starea noii tehnologii.

Desigur, înțelegem că astăzi se pune accent pe tehnologiile 3D, dar am decis să revenim la o componentă grafică care este considerată de la sine înțeleasă astăzi - grafica 2D. Să nu credeți că tocmai am decis să adăugăm câteva teste la suita noastră de teste, ridicând probleme care au fost rezolvate în vremurile când performanța RAMDAC făcea o diferență semnificativă. Dar vom vorbi mai multe despre asta puțin mai târziu.

În timp ce majoritatea utilizatorilor vor fi interesați de viteza de afișare a GUI-ului Windows (pentru care Windows 7 a primit destul de mult laude în comparație cu Vista), am constatat că pretinsa „actualizare grafică” a Windows 7 nu este atât de proaspătă pe cât pare. În comparație cu Windows XP (și chiar Vista), producătorii de GPU nu au optimizat încă pe deplin grafica 2D pentru Windows 7, cel puțin conform studiilor privind noua implementare a apelurilor API GDI (Graphics Device Interface). Știm cu toții că grafica 2D nu este doar despre palete distractive, efecte de tranziție optică și meniuri animate cu umbre; Dezvoltatorii trebuie să accelereze redarea vechilor pixeli, linii, curbe, dreptunghiuri, poligoane și tot felul de primitive grafice, așa cum sunt adesea numite.

Notă preliminară importantă

Nu am vrut să dăm articolului nicio nuanță emoțională, deși adepții taberelor „roșii” sau „verzi” își vor freca ochii în timp ce citesc materialul. Deoarece noi înșine nu credeam rezultatele testului, am petrecut timp suplimentar pregătind articolul astfel încât, în interesul tuturor părților, rezultatele să fie cât mai obiective și repetabile. De asemenea, am lucrat pentru a crea cea mai obiectivă bază pentru compararea plăcilor video între ele. Nu am vrut să arătăm cu degetul în direcția unui producător sau altuia: este important să înțelegem că acest articol este destinat să-i ajute pe acei utilizatori care își folosesc computerul nu numai pentru jocuri, ci și să facă o muncă reală pe computerele lor.

În acest sens, este important să înțelegem că astăzi poate fi destul de dificil să lucrezi productiv cu grafica 2D sub Windows 7. De exemplu, când folosim Radeon HD 5870 și cele mai recente drivere, am avut mari dificultăți în a putea scoate grafică vectorială simplă, modele CAD simple sau complexe sau chiar jucați jocuri 2D cu grafică de înaltă calitate. Aceasta nu este atât o critică, cât este o încercare de a defini limitele problemei pe care am încercat să o analizăm și de a înțelege problema cât mai profund posibil.

Teorie și practică

Deoarece este puțin probabil ca majoritatea utilizatorilor să știe despre caracteristicile și comportamentul încorporate ale accelerației 2D sub Windows XP sau Windows 7, am decis să împărțim articolul nostru foarte aprofundat în două părți. În prima parte ne vom uita la detaliile tehnice referitoare la grafica 2D, astfel încât cititorii noștri să se poată pregăti pentru a doua parte. Nu numai că veți putea înțelege testele noastre, dar le veți putea și interpreta mai bine. Pentru a facilita testarea noastră, am dezvoltat chiar și propriul nostru mic program de testare (și l-am pus la dispoziție, astfel încât toți utilizatorii interesați să poată descărca și utiliza ei înșiși programul - în a doua parte a articolului). Scopul nostru a fost să facem ambele părți ale articolului cât mai informativ, accesibil și complet posibil.

În secțiunea următoare, ne vom uita la elementele de bază ale graficii 2D. Între timp, credem și că unele elemente de bază în acest domeniu nu vor răni nimănui, pot fi utile pentru înțelegerea altor subiecte, nu doar a testelor noastre.

Windows: cum a început totul

Să ne întoarcem la 1985. Anul acesta, Mihail Gorbaciov a devenit secretar al Comitetului Central al PCUS, Amadeus a câștigat Oscarul pentru cel mai bun film, iar Ronald Reagan a fost ales pentru un al doilea mandat ca al 40-lea președinte al Statelor Unite. Puțini oameni au observat, dar a fost lansat în 1985 sistemul de operare Microsoft Windows 1.0.


Ferestre cu un număr mic de ferestre - chiar și fără a suprapune zone diferite. Click pe poza pentru marire.

Ideea de a pune o interfață grafică virtuală deasupra unui sistem de operare în mod text nu a fost deloc revoluționară, chiar și în 1985. De fapt, aceasta a fost abordarea pe care diverse companii, inclusiv Microsoft și Digital Research, au luat-o la acea vreme pentru a-și extinde prezența pe piață și pentru a face tehnologia PC mai accesibilă pentru o parte mai mare a potențialilor cumpărători și utilizatori. Ideea a fost că aplicațiile ar fi suficient de ușor de utilizat, încât chiar și profesioniștii care nu sunt IT să le poată utiliza fără a fi nevoie să învețe mai întâi multe despre computer. Interesant este că, spre deosebire de Windows 1.0, sistemul de operare multi-utilizator Digital Research GEM suporta deja suprapunerea ferestrelor la acel moment.



Abia cu versiunea 2 Windows a început să se ridice la înălțimea numelui său. Click pe poza pentru marire.

Dacă sistemul de operare Windows 2.0 nu ar fi fost introdus în 1987, care avea deja suport pentru mai multe ferestre suprapuse, atunci este foarte posibil ca nimeni să nu știe astăzi despre Microsoft Windows. De fapt, Windows își datorează supraviețuirea dincolo de primii doi ani de la anunțul inițial unuia care are și astăzi o influență enormă la Microsoft: Steve Ballmer. Promovarea lui Windows 1.0 este încă greu de uitat astăzi, deoarece a prețuit nemodest Windows 1.0 la un impresionant 99 USD (nu o sumă mică pentru 1985), în ciuda lipsei de suport pentru ferestre reale. Steve Ballmer ar putea captiva cu adevărat spectatorul - el poate fi numit un geniu de marketing. Convinge-te singur.

Steve Ballmer vinde Windows.

De la lansarea versiunii 2.0, Windows a fost capabil să ofere (cel puțin) modificări evolutive, dacă nu revoluționare, în versiunile ulterioare. De fapt, schimbarea revoluționară se dovedește a fi problemele pe care am dori să le abordăm în Windows 7, cea mai recentă versiune a companiei.

Cea mai recentă versiune este una care ridică întrebări profunde care ne duc înapoi la începutul Windows. Motivele pentru aceasta sunt simple și evidente. Prin compararea tehnicilor noastre de ferestre, am aflat că interfața grafică Windows are două părți: interfață grafică cu utilizatorul sau GUI(nu ne-am luat în considerare personalizarea din partea utilizatorului, ci ne-am concentrat pe desktop-ul de bază și am lucrat cu acesta), inclusiv lucrul cu Windows, precum și funcții grafice simple, care sunt folosite pentru a crea medii desktop. De fapt, afișarea conținutului ferestrelor și lucrul cu acestea sunt două zone separate, deși legate, ale sistemului de operare Windows. Aspectul interfeței Windows a continuat să se schimbe și să evolueze, dar funcționalitatea grafică 2D simplă subiacentă a rămas remarcabil de consistentă de-a lungul timpului.

Cititorii pricepuți vor fi probabil conștienți de faptul că interfețele utilizator cu ferestre nu se mai bazează pe grafica 2D pură. De aceea, vom explica mai jos că există un mic set de comenzi grafice 2D care ar trebui luate în considerare în lumina modului în care apar pe un afișaj fizic, în mai mult sau mai puțin trei dimensiuni.

Limitări 2D: Un spațiu cu mai multe ferestre


Tot ce aveți nevoie este înălțimea și lățimea.

Dacă te uiți la afișaj în orice fereastră, ai nevoie doar de două coordonate: X și Y, adică lățime și înălțime. Ce lipsește? Orice informație despre adâncime.

Pe Windows, grafica 2D este afișată prin GDI (Graphics Device Interface). Această interfață acceptă toate limbajele de programare de nivel înalt și conține toate funcțiile grafice importante care sunt necesare pentru a reda obiectele grafice 2D. Îmbunătățirile ulterioare, cum ar fi GDI+ și Direct2D, nu sunt deosebit de importante, deoarece GDI a fost (și rămâne) cel mai important instrument pentru ieșirea grafică 2D într-o aplicație. Funcții critice pentru afișarea pixelilor, liniilor, curbelor, poligoanelor, dreptunghiurilor, elipselor și așa mai departe - toate au fost inițial calculate pe CPU. Datorită dezvoltării plăcilor video, ultima generație de hardware oferă calcule 2D și randare mai rapide. Această formă timpurie de accelerare 2D rămâne importantă și astăzi, dar accelerația 2D nu mai este obiectivul principal. Pentru a profita la maximum de performanța grafică, avem nevoie de o a treia coordonată.

Metoda originală de randare 2D, care este ascunsă sub suprapunerea ferestrelor de pe ecranul de afișare, este simplă și directă. Trebuie să cunoaștem doi parametri: primul este zona de pe ecran din interiorul fiecărei ferestre care se va schimba (de aceea trebuie redesenată). A doua este ordinea în care ferestrele sau obiectele se suprapun între ele (obiectul va fi vizibil complet sau parțial sau va fi ascuns de o altă fereastră). Acest tip de informații necesită așa-numita dimensiune 2,5-dimensională sau utilizarea straturilor grafice, atunci când a treia coordonată ia valoarea 0 (ascunsă) sau 1 (vizibilă), adică acționează ca un fel de dimensiune auxiliară. Acesta este motivul pentru care mulți experți Windows vorbesc mult despre grafica 2.5D.


Valoarea Z arată cum sunt suprapuse sau organizate ferestrele.

Odată ce ordinea sau vizibilitatea ferestrelor a fost determinată, conținutul ferestrelor vizibile poate fi afișat folosind funcții de grafică 2D pură. În orice caz, nu este doar necesar să se calculeze conținutul ferestrelor de afișare în întregime, ci și diferitele tipuri de informații și conținutul ferestrelor trebuie gestionate. Ce se întâmplă, de exemplu, dacă o fereastră este mutată? Când o altă fereastră conține o zonă care este deschisă total sau parțial ca urmare a acestei acțiuni, funcția grafică de sistem WM_PAINT trebuie apelată cu informații precise despre ce zonă dreptunghiulară trebuie redesenată. Implementările optimizate ale funcției vor reconstrui sau redesena această zonă. Din păcate, multe implementări redesenează în schimb întreaga fereastră, în ciuda faptului că pot accesa instrucțiuni mai precise dacă conținutul ferestrei trebuie redat în întregime sau parțial. Acest lucru, la rândul său, afectează performanța grafică. Un alt dezavantaj binecunoscut este estomparea sau duplicarea atunci când o fereastră este rapid trasă pe ecran pe un sistem care nu are accelerație hardware 2D.

Dar permiteți-mi să rezumam ceea ce am acoperit până acum. Ecranul are ferestre separate al căror conținut 2D trebuie redat pe ecran pentru a fi văzut. Aceste ferestre pot fi mutate după dorință și se pot suprapune și pot fi acoperite parțial sau complet de alte ferestre. Conținutul vizibil al tuturor acestor ferestre trebuie controlat și afișat cu o latență minimă. De asemenea, știm că procesorul în sine, chiar dacă este un procesor foarte rapid, poate fi supraîncărcat atunci când se execută sarcini atât de complexe. Ce soluții există în afară de mutarea acestei sarcini pe placa video? Ce necesită asta? Și de ce sună totul mai simplu în teorie decât în ​​practică? Vom analiza toate acestea mai jos.

2.5D: Mituri ale accelerației hardware 2D

La început, plăcile video discrete erau necesare doar pentru lucrul 2D. Nu este un secret pentru nimeni că plăcile grafice discrete de astăzi oferă performanțe excelente atunci când vine vorba de sarcini complexe de redare grafică. Cu toate acestea, plăcile grafice mai vechi sunt deja prea lente pentru munca de zi cu zi, mai ales atunci când trebuie să se ocupe de efectele complexe de redare grafică găsite în cea mai recentă versiune de Windows. Pe de altă parte, acest lucru se datorează complexității grafice a interfețelor moderne de utilizator Windows și, pe de altă parte, funcționalității grafice limitate. Dar să înțelegem aceste componente, una câte una.

În această secțiune, ne vom uita la accelerarea grafică 2D asociată cu redarea grafică nativă, de la GDI până la placa grafică în sine. Aceasta include obiecte geometrice simple, cum ar fi pixeli, linii, curbe, poligoane, dreptunghiuri și elipse, pe de o parte, și operațiunile lor de scalare, redare sau anti-aliasing ale fonturilor (cum ar fi TrueType sau OpenType) pe de altă parte.

Suportul de lungă durată pentru accelerarea hardware a așa-numitelor „primitive 2D” din plăcile video a dispărut și a lipsit de ceva timp din produsele la nivel de consumator. Astăzi, accelerarea funcțiilor grafice 2D este implementată ca un analog al accelerării 3D, dar este procesată exclusiv și în întregime de driverul de grafică software, și nu de hardware-ul încorporat în placă.

În a doua parte a seriei noastre, vom prezenta și explica un punct de referință pe care l-am dezvoltat special pentru grafica 2D, care testează temeinic caracteristicile cheie și fundamentale ale graficii 2D. Mai mult, acest test arată că software-ul driverului poate avea un efect negativ și imprevizibil asupra graficii 2D. De asemenea, vom prezenta nouă criterii comune de testare.


Afișează text.


dreptunghiuri.


Curbe.

Transformarea funcțiilor de randare este doar o parte a accelerației 2D. Accelerația semnificativă și foarte pozitivă este oferită de plăcile video 3D moderne, care pot reda, controla și afișa informații grafice 2.5D în hardware.


Totul este afișat imediat.

Cum funcționează totul? Ca și în cazul graficelor 3D, sunt calculate zone vizibile și ascunse ale ferestrelor, care sunt stocate în întregime sub formă de zone dreptunghiulare virtuale, iar conținutul tuturor ferestrelor active este afișat în ele în timp real. Prin urmare, nu trebuie recalculat nimic atunci când mutați sau schimbați fereastra; doar acele zone care au fost ascunse și care sunt acum vizibile trebuie redesenate, împreună cu orice s-a schimbat de la ultima actualizare. Placa video știe întotdeauna dimensiunea și locația dreptunghiurilor virtuale cunoscute sub numele de ferestre. Folosind un buffer de adâncime (z-buffer), placa video ține evidența ordinii și priorității ferestrelor sau obiectelor de pe ecran (cunoscută și sub denumirea de ordine Z). Prin urmare, placa video poate determina ea însăși ce obiecte sunt vizibile, adică ce trebuie afișate direct pe ecran.

Permiteți-mi să rezumam pe scurt ce înseamnă toate acestea.

Accelerarea hardware 2D modernă include atât implementarea funcțiilor cheie de randare 2D, cât și implementarea tehnologiilor de stratificare 2.5D pentru Windows și interfața cu utilizatorul.

Cu toate acestea, ar fi prea greoi să cercetăm fiecare versiune de Windows lansată pentru a găsi detalii suplimentare. Deoarece problemele pe care le-am identificat au afectat doar performanța de testare în Windows 7, ne-am limitat testarea la Windows XP, Vista și, desigur, Windows 7.

Windows XP: „vechea școală” 2D și limitele WM_PAINT

Puteți spune ce credeți despre Windows XP, dar accelerarea hardware GDI funcționează impecabil până în prezent și este suficientă pentru majoritatea tipurilor de aplicații. Totuși, ceea ce XP nu poate face este să transfere tehnica de lucru cu straturi 2.5D pe plăcile video 3D moderne. După cum am descris mai sus, redarea conținutului ferestrei este realizată de aplicațiile în sine.



O aplicație tipică 2D pentru care este puțin probabil să cumpere o placă video scumpă. Click pe poza pentru marire.

Este puțin probabil ca această limitare să deranjeze utilizatorii care își concentrează eforturile pe orice fereastră de aplicație desktop. Cea mai tipică aplicație a acestei tehnologii poate fi văzută în mediile SDI (single device interface). Dar lucrurile devin mai incomode atunci când aveți mai multe ferestre deschise și vizibile pe desktop. Cui nu i-ar deranja să profite de tehnologia îmbunătățită de stratificare care acceptă meniuri, funcționează mai bine pe hardware-ul modern și facilitează lucrul cu mai multe ferestre pe mai multe monitoare? Cine nu și-ar dori să facă încețoșarea ferestrelor în mișcare și să treacă în spatele lor un lucru din trecut, în timp ce se bucură de performanțe grafice 2D mai bune?



Ferestrele sunt ca un pachet de cărți: efectul dublării ferestrelor sub XP atunci când trageți. Click pe poza pentru marire.

Deși performanța pură 2D în programele de grafică vectorială, cum ar fi Corel Draw sau aplicațiile CAD, este destul de bună, deoarece funcțiile GDI sunt suportate corespunzător în ele, atingem limitele capabilităților WM_PAINT. Când GUI XP este supraîncărcat cu animații, umbre moi, ferestre transparente și alte elemente grafice, se apropie de limitele graficii 2D.



Când sistemul este sub sarcină mare, funcția WM_Paint se blochează sau este actualizată numai din când în când. Evenimentele de redesenare trebuie să-și aștepte rândul pentru a fi executate. Click pe poza pentru marire.

Mulți utilizatori au descoperit că cel mai bine este să afișați ferestrele doar ca cadre atunci când le mutați și să dezactivați complet meniurile animate. În general, economisirea resurselor grafice se dovedește a fi o abordare complet normală atunci când lucrați pe un desktop XP. Din păcate, multe teme grafice frumoase ajung la gunoi după euforia inițială asociată cu lansarea unui nou sistem de operare, deoarece sistemul de operare își pierde capacitatea de a reda toate graficele fără erori sau întârzieri.

Microsoft a observat rapid că soluția sa de grafică 2D, care era prezentă în toate versiunile de Windows înainte, inclusiv XP, trebuia înlocuită. Iar disponibilitatea tot mai mare a acceleratoarelor 3D din ce în ce mai rapide, împreună cu prețurile în scădere pentru GPU-urile discrete, a indicat în mod clar că vremurile (și sistemele de operare) se schimbau.


Un exemplu tipic de placă video 3D în 2005: Radeon X1800.

În acest moment, este important să rețineți că accelerarea hardware în XP nu a funcționat inițial cu grafica integrată ATI 780G la rezoluții native. Drept urmare, ferestrele au fost randate lent, afectând chiar și performanța de bază a browserului web. Actualizările ulterioare ale driverelor au ajutat la rezolvarea acestor probleme. Dar chiar și astăzi, nucleul grafic al lui 780G nu poate funcționa optim, ceea ce este în contrast puternic cu 740G. Dar astăzi, când XP este deja un lucru din trecut, este posibil ca această judecată să aibă, de asemenea, o soartă similară...

Apoi a apărut pe piață Windows Vista, care este probabil cel mai controversat sistem de operare Microsoft (împreună cu Windows ME). În orice caz, indiferent de dragostea sau ura ta pentru Vista, compania nu a mai putut amâna unele îmbunătățiri tehnice.

Scurtul rezumat al XP este acesta.

  • Accelerarea hardware 2D a funcționat impecabil pentru comenzile GDI.
  • Nu a existat nicio accelerare hardware pentru straturile 2.5D, rezultând o interfață cu utilizatorul mai lentă.
  • Redenarea sau modificarea în mod repetat a conținutului ferestrei a durat timp și a afectat și performanța.

Windows Vista: progresul și abandonul vechiului

Când am instalat pentru prima dată Windows Vista, cu greu ne-am putut stăpâni. Intrigant, provocator și îmbunătățit, Vista a promis multe.



Multă lumină și umbre, dar fără accelerare hardware 2D. Click pe poza pentru marire.

Dar ceea ce părea foarte revoluționar la prima vedere a lăsat loc dezamăgirii la lansarea cutare sau cutare aplicație și uneori a inspirat pur și simplu groază. Să ne uităm la cele mai importante caracteristici în detaliu.

Implementarea hardware a straturilor 2.5D

Această tehnologie a fost implementată pentru prima dată în Windows Vista. A durat foarte mult să apară, dar în 2006 tehnologia a apărut în sfârșit. Cu toate acestea, a rămas o mică limitare: a funcționat doar dacă interfața Aero era activată. În plus, pentru a suporta straturi 2.5D, aveai nevoie de o placă grafică 3D, chiar dacă nu aveai de gând să rulezi aplicații sau jocuri 3D. Dacă utilizați tema Vista Basic, trebuia să suportați aceleași efecte de estompare și fantomă atunci când mutați ferestrele cu care utilizatorii XP erau familiarizați, deoarece suportul pentru straturi 2.5D era dezactivat automat - chiar dacă sistemul avea o placă video 3D instalat. E o rușine.

Mișcarea de a suporta straturi 2.5D a forțat, de asemenea, Microsoft să se ocupe de mai multe probleme. Vista a fost considerat un sistem de operare lent, dar în cea mai mare parte stabil. Dar ce sa intamplat? Am menționat deja că GDI a fost o interfață cheie pentru programarea grafică. După introducerea extensiei (din păcate) foarte lentă bazată pe C++ GDI+, care nu a făcut niciodată un progres tehnologic în ceea ce privește performanța sa, nu am mai putut nega existența unui fel de „haos de interfață”. De fapt, era foarte, foarte puțin probabil ca GDI, GDI+, DirectDraw și Direct3D să poată fi accelerate hardware în același timp.

Pe lângă noul model de driver de dispozitiv, Windows a introdus modelul DWM pentru controlul dispozitivelor de afișare. Conceptul general nu a fost atât de simplu, a adăugat un strat de software (și o creștere corespunzătoare a complexității) între ferestre și comenzi de randare, pe de o parte, și între drivere și dispozitive, pe de altă parte. Interacțiunea directă a fost oprită din cauza apariției DWM. În încercarea de a obține controlul asupra tuturor, modelul DWM a asigurat coordonarea tuturor interfețelor grafice individuale. Această tranziție a lăsat deoparte o caracteristică grafică destul de serioasă pe care am menționat-o deja - și anume, accelerarea hardware a funcțiilor de afișare GDI. Este greu de înțeles, dar exact așa s-a întâmplat.

Cea mai mare parte a memoriei suplimentare pe care Vista o consumă este de obicei atribuită tehnologiei SuperFetch. Din păcate, aceasta descrie doar parțial situația în realitate. Lipsa accelerației hardware 2D înseamnă că întreaga sarcină a apelurilor GDI pentru afișarea conținutului ferestrei revine procesorului. Toate acestea duc la un tampon uriaș în interiorul DWM. Afișările complete ale ferestrelor trebuie apoi transferate pe placa video. Dar acest lucru a creat rapid un blocaj serios, deoarece doar o fereastră la un moment dat putea trimite comenzi GDI către DWM. Sarcinile asincrone nu sunt rezolvate, rezultând o coadă lungă de solicitări de servicii în așteptare. Toate acestea nu numai că necesită un timp semnificativ CPU pentru a se executa, dar consumă și o cantitate considerabilă de memorie, deoarece toate ferestrele active sunt situate în buffer-ul DWM. Ferestrele individuale pot ocupa până la 100 MB, așa că este de înțeles că consumul de memorie va crește. În cele mai extreme cazuri, Vista se poate bloca pur și simplu, cum ar fi atunci când un program rău intenționat deschide o fereastră după alta într-o buclă nesfârșită. Desigur, acest ciclu nu poate continua la infinit, așa că va trebui să forțați oprirea computerului pentru a recăpăta controlul asupra sistemului.



Dublarea consumului de memorie nu vă dublează plăcerea (sursa: Microsoft). Click pe poza pentru marire.

Să rezumam Vista.

  • Vista folosește accelerarea hardware pentru prima dată pentru modelul de strat 2.5D.
  • Cu tehnologia Aero activă, redesenarea lentă a ferestrelor Windows este de domeniul trecutului.
  • Microsoft se îndepărtează de accelerarea hardware a caracteristicilor de randare 2D ale GDI.
  • DWM nu poate funcționa cu Windows în modul asincron, ceea ce afectează negativ performanța grafică.
  • Coada de comenzi GDI din interiorul DWM poate consuma o cantitate mare de memorie.

Windows 7: Întoarcerea fiului risipitor


Logo-ul Windows 7, care a interesat mulți utilizatori.

Mulți utilizatori au considerat Vista ca un sistem de operare nereușit - a fost perceput ca un monstru care literalmente a „înghițit” memoria. În orice caz, acest sistem de operare trebuia analizat din nou în lumina lansării Windows 7. Alături de schimbările fundamentale aduse sistemului în sine, grafica Windows 7 a oferit ceea ce Vista a luat - accelerare nelimitată a graficii 2D în toate domeniile, inclusiv GDI funcții de randare.

Datorită tranziției la WDDM 1.1, Windows 7 a prevenit utilizarea dublă a memoriei (prima oară pentru bufferele individuale, a doua oară pentru fiecare fereastră activă în DWM). Acest lucru a făcut posibilă simplificarea sistemului, cu cerințe mai modeste de resurse. În Windows Vista, dublarea consumului de memorie pentru Windows poate explica de ce memoria sistemului a fost consumată atât de fără milă.


În cazul lui Vista, sistemul de operare „mâncă” toată memoria pe care o poate obține... (sursa: Microsoft).



...dar in cazul Windows 7 cerintele sunt mai modeste (sursa: Microsoft).

Pentru a completa GDI sub Windows 7, a fost anunțat și Direct2D. Această interfață folosește traducerea comenzilor similară cu Direct3D atât pentru a implementa accelerarea hardware, cât și pentru a suporta un set mai complex de funcții grafice. Direct2D oferă avantajul de viteză al GDI împreună cu capabilitățile avansate ale GDI+, care nu au funcționat așa. Cu toate acestea, încă trebuie să vedem dacă Direct2D va putea obține sprijin din partea dezvoltatorilor.

Chiar și astăzi, marea majoritate a programelor încă folosesc API-ul GDI pentru a reda și a manipula elementele grafice 2D. Ne-a plăcut că Windows 7 a readus accelerarea hardware pentru aceste comenzi, pe care Vista le-a abandonat.



GDI asincron sub Windows 7 (sursa: Microsoft). Click pe poza pentru marire.


Scalare aproape perfectă atunci când lucrați cu mai multe ferestre simultan (sursa: Microsoft)

Să rezumam pe scurt Windows 7.

  • Redirecționarea directă a comenzilor de randare GDI către driverul grafic prin DWM.
  • Procesarea asincronă și simultană a comenzilor GDI pentru mai multe ferestre.
  • Strategii pentru a evita utilizarea excesivă a memoriei pentru a pune în coadă solicitările de grafice.
  • Drivere WDDM 1.1 noi și îmbunătățite.

Cerințe producătorului GPU

Revenirea accelerării hardware pentru grafica 2D i-a readus pe producătorii de GPU-uri în joc. Driverele pentru Windows 7 trebuie să fie special construite pentru a oferi accelerare hardware pentru comenzile de accelerare 2D GDI, precum și pentru a suporta operarea în straturi 2.5D a ferestrelor individuale.

Pentru unele plăci video acest lucru sa dovedit a fi destul de dificil. De exemplu, generația actuală de plăci grafice ATI pare să sufere de complicații legate de driver în toate aceste domenii ale accelerației grafice 2D. Mai jos veți citi despre cum am descoperit aceste probleme și la ce concluzii am ajuns.

Windows 7: Linia de plăci grafice Radeon HD 5000 nu are accelerație 2D

AMD a depus mult efort în dezvoltarea ultimei generații de plăci grafice DirectX 11; Este firesc că a durat ceva timp pentru a perfecționa partea software (nu este un secret că versiunile ulterioare ale driverului îmbunătățesc performanța și stabilitatea în multe moduri diferite). Nu putem ignora nVidia în această chestiune, deoarece am găsit probleme similare cu driverul GeForce al companiei atunci când folosim grafică 2D pe procesoarele mobile ale companiei. Pentru articolul nostru, am folosit cea mai recentă versiune a driverului Catalyst la momentul testării - 9.12.



Catalyst și Windows 7 navighează pe mări agitate. Click pe poza pentru marire.

Problema 1: ATIKMDAG nu mai răspunde, apoi a revenit

Dacă ați întâlnit un mesaj de eroare ca acesta, probabil că ați revenit la modul 2D după ce ați părăsit o aplicație 3D. Nu am avut de ales decât să presupunem că acesta a fost rezultatul unei erori din șofer.

Permiteți-mi să vă reamintesc: atunci când interfața Aero este dezactivată, DWM este dezactivat, astfel încât accelerația 2D nu mai are loc (adică obținem același lucru sub Windows 7 ca și sub Vista). Deoarece am întâlnit această eroare din nou și din nou pe sisteme cu plăci grafice Radeon HD 5750 și Radeon HD 5870 instalate (în două configurații de testare diferite), a trebuit să dezactivăm intenționat interfața Aero în ambele cazuri. După o astfel de manevră, erorile nu au mai apărut. Interesant este că exact aceeași situație (și soluția ei) am găsit-o pe laptopurile cu plăci video GeForce. Desigur, doar timpul va spune dacă aceasta este doar o coincidență sau indică un conflict între DWM, drivere și accelerarea hardware a graficii 2D.

Următorul nostru principal suspect s-a dovedit a fi frecvențele implicite relativ scăzute ale plăcilor video AMD în modul 2D, precum și unele probleme în BIOS-ul timpuriu al plăcilor video. Cu toate acestea, pentru a confirma sau infirma influența lor, vom avea nevoie de observații pe termen lung - sau după lansarea unei noi versiuni a driverului, comportamentul ar trebui să se schimbe.

Ne-am confruntat cu această problemă deoarece am avut imediat dificultăți în a face ca Radeon HD 5870 să accepte grafica 2D. Mulți ar putea, desigur, să adauge în acest sens că hărțile 3D sunt create pentru jocuri, nu pentru aplicații 2D. Dar dacă citiți secțiunile anterioare ale articolului, trebuie să recunoașteți că această problemă a devenit serioasă doar odată cu lansarea Windows 7 (și nu Windows Vista). Pentru a fi mai specific, majoritatea plăcilor grafice 3D sunt capabile să gestioneze grafica 2D în zilele noastre fără probleme. Dar o comparație directă a suportului de accelerare 2D între GeForce GTX 285 și Radeon HD 5870 a condus la placa video AMD să fie un outsider. De fapt, în comparație cu soluția grafică integrată nVidia GeForce 7050 (nForce 610i), care nu are memorie proprie, noile Radeon ajung doar pe locul doi.

Lucrurile devin mai interesante când DWM este dezactivat. Chiar dacă în acest caz accelerarea 2D nu mai este posibilă, plăcile video AMD oferă un spor de performanță. În comparație cu Nvidia GeForce, rularea unei plăci grafice AMD cu DWM dezactivat îi oferă un spor de performanță. Chiar și CorelDraw și AutoCAD rulează considerabil mai repede pe Radeon HD 5870 cu DWM dezactivat. Acest lucru pune nVidia într-o lumină favorabilă și sfidează atât logica, cât și experiența anterioară de testare a datelor GPU.


Accelerația hardware 2D cu interfața Aero și DWM activată oferă un avantaj plăcilor video GeForce.


Fără accelerare Aero și hardware, plăcile grafice AMD 2D sunt de până la cinci ori mai rapide. Şocant!

Din acest motiv am repetat testele PassMark de mai multe ori pe aceste plăci video.


Interfața Aero și DWM sunt dezactivate - plăcile video AMD sunt vizibil mai rapide. Click pe poza pentru marire.

Din păcate, niciunul dintre aceste teste nu a reușit să găsească cauza exactă a problemelor pe care le-am întâlnit sau să arunce vreo lumină asupra rezultatelor ciudate de performanță. De aceea am decis să ne creăm propriul test, care ne-a permis să înțelegem mai bine cauzele problemelor identificate.

Tom2D Benchmark: Radeon HD 5870 vs GeForce GTX 285 sub Windows 7

Cu noul nostru test, sperăm să aprofundăm cauza principală a acestor scăderi de performanță 2D pe care le-am descoperit recent cu plăcile grafice Radeon HD 5870, 5850 și 5750 pe care le avem la dispoziție. Să începem cu faptul că accelerarea 2D a funcțiilor GDI sub Windows 7 în mod clar nu a funcționat pe niciunul dintre modelele din linia Radeon HD 5000, adică ne confruntăm cu mai mult decât o încetinire serioasă. Care este problema: în driver sau în hardware? Nici în cazul nVidia, nu totul a ieșit bine: nu toate funcțiile posibile au fost accelerate pe plăcile video ale acestei companii.

Testați configurația
CPU Intel Core 2 Quad Q6600, 2,4 GHz @ 3,2 GHz, G0 stepping, 8 MB cache L2, LGA 775
Memorie 4 GB DDR2-1066 CL5
Placa de baza A-Data Vitesta Extreme
sistem de operare Windows 7 Ultimate x64
Plăci video Radeon HD 5870, GeForce GTX 285
Driver grafic Catalyst 9.12, GeForce 195.62
Plăci video Frecvența ceasului cu Aero/DWM activat Viteza ceasului fără accelerație
ATI Radeon HD 5870 850 MHz 157 MHz
Nvidia GeForce GTX 285 648 MHz 300 MHz

Pentru a pune o bază mai solidă pentru comparația de pornire/oprire a accelerației 2D, am rulat, de asemenea, toate testele noastre pe chipset-ul mai vechi nForce 610i cu grafică GeForce 7050 integrată (fără memorie dedicată). Am instalat același procesor și 4 GB de memorie și apoi am rulat același sistem de operare Windows 7. Am testat și performanța predecesorului Radeon HD5870, ATI Radeon HD 4870, pe platforma noastră de testare.


În acest test, toate plăcile video de testare sunt într-un interval restrâns de performanță.

Ar fi interesant să auzim câteva comentarii de la Nvidia despre motivul pentru care GPU-ul integrat redă grafica 2D mai rapid decât GeForce GTX 285, chiar dacă diferența este foarte modestă.

Placa video Radeon HD 4870, pe care am luat-o pentru comparație, este situată a treia de jos, deși nu prezintă nicio deficiență deosebită.


În mod surprinzător, placa grafică Radeon HD 5870 pur și simplu nu este capabilă să scoată linii accelerate hardware cu performanțe acceptabile.

În timp ce atât cardurile de testare nVidia, cât și AMD au produs rezultate acceptabile și relativ apropiate, cu accelerația 2D dezactivată și CPU-ul făcând toată munca, se deschide un decalaj semnificativ între cele două plăci odată ce Aero este activat. GeForce GTX 285 este de 11 ori mai rapidă decât ATI Radeon HD 5870. Pentru a înrăutăți lucrurile, GPU-ul integrat pe o placă de bază de 50 USD de acum doi ani este cu un ordin de mărime mai rapid decât o placă grafică de 400 USD.

Datele pe care le-am primit pentru Radeon HD 4870 arată o mică diferență între modul Aero activ și modul simplu (fără accelerare grafică) sub Windows 7, ceea ce sugerează că nu există nicio accelerație în trasarea liniilor sub Windows 7. Această placă video a fost vizibil. mai lent decât GeForce GTX 285 și soluțiile grafice integrate, dar încă depășește Radeon HD 5870 cu accelerația activată și oprită.


Acest test oferă aproximativ aceeași imagine ca și testul de desen. Radeon HD 5870 vine în partea de jos, confirmând suspiciunea noastră că nu poate gestiona corect aplicațiile 2D. Acest lucru cu greu poate fi numit tolerabil chiar și pentru piața de consum.

Cu Aero activat și DWM activat, GeForce GTX 285 oferă performanțe de până la nouă ori mai rapide. De asemenea, chiar și vechiul nucleu chipset integrat depășește semnificativ noua placă grafică AMD. Apropo, performanța Radeon HD 4870 s-a dovedit a fi foarte interesantă: placa video este capabilă să accelereze ieșirea curbelor în hardware, chiar dacă performanța este redusă în comparație cu ambele soluții nVidia.


Deoarece Radeon HD 5870 a avut probleme clare la randarea liniilor (în special cu liniile bogate), vedem că jumătate din rezultatele testelor noastre dreptunghiulare sunt în concordanță cu constatările anterioare, ceea ce nu este surprinzător.

În orice caz, este destul de interesant de văzut cum Radeon HD 5870 dublează performanța cu accelerarea hardware activată (comparativ cu accelerația hardware dezactivată), chiar dacă performanța este puțin mai slabă decât GPU-ul GeForce 7050.

Testul dreptunghiular a fost singurul în care am găsit un efect vizibil de activare a accelerației hardware pe plăcile video ATI și unde accelerarea hardware este demnă de numele său. Radeon HD 4870 a beneficiat de acest efect mai mult decât 5870, chiar dacă a rămas în urma celorlalte plăci în acest test neboosted.


În acest caz, victoria este acordată vechiului nucleu grafic integrat. Nvidia nForce 610i depășește toate celelalte plăci video discrete cu o marjă surprinzător de mare și nu contează dacă le folosim cu accelerare 2D activă sau inactive. Este interesant de remarcat faptul că pentru ambele plăci video 3D de top, accelerația poligonului nu funcționează deloc.

Nucleul grafic integrat cu Aero activat este de 10 ori mai rapid decât Radeon HD 5870. Fără accelerare, Radeon HD 4870 este puțin mai lent decât 5870. Dar cu Aero activat, 4870 are performanțe de peste două ori mai rapide decât 5870.


Rezultatele sunt similare cu cele văzute mai sus. Ambele plăci grafice high-end nu oferă accelerare 2D, spre deosebire de chipsetul integrat. Placa video Radeon HD 5870 devine un outsider, iar vechiul Radeon HD 4870 este situat undeva la mijloc.

Plus

Am văzut rezultate similare atunci când am folosit Radeon HD 5750, care a netezit unele dintre problemele care afectează 5870. De asemenea, am comparat driverele Catalyst 9.11 și 9.12 și am găsit câștiguri de performanță notabile la trecerea de la versiunea veche la versiunea nouă, indiferent dacă Accelerarea hardware a fost activată sau nu. Următoarea noastră comparație va fi măsurarea performanței Windows 7 și Vista, dar o vom păstra pentru a doua parte a articolului. Este suficient să spunem că și aici am găsit multe surprize în timpul testelor noastre.

Concluzie

Judecând după analiza noastră a situației actuale, noile plăci video din linia ATI Radeon HD 5000 se confruntă cu probleme cu grafica 2D. De asemenea, suntem destul de îngrijorați de faptul că chipset-ul integrat mai vechi a fost mai rapid în unele zone (împotriva plăcilor grafice discrete AMD și nVidia). În plus, nu am putut găsi nicio soluție acceptabilă pentru lucrul cu programe care utilizează grafică vectorială. Și acest lucru se aplică nu numai testării noastre; acest lucru se aplică oricui lucrează în mod regulat cu grafică 2D. Sincer să fiu, este destul de greu de imaginat cum vechea placă video Radeon HD 4870 s-ar putea apropia de noile plăci video sau chiar s-ar putea bate în atâtea teste.

Deși accelerația 2D (inclusiv straturile 2.5D) funcționează bine, AMD nu a implementat încă unele caracteristici GDI de bază în linia de plăci grafice Radeon HD 5000. De la lansarea inițială a Windows 7 au trecut mai multe drivere, așa că situația va fi dificilă de înțeles pentru cei care au cheltuit câteva sute de dolari pentru o placă video nou-nouță, dar în același timp au primit „frâne” în aplicațiile 2D. De asemenea, trebuie să vă reamintim că toate acestea se aplică nu numai testului nostru 2D sintetic, ci și diferitelor aplicații din viața reală pe care le folosim în testele noastre, inclusiv AutoCAD, Corel Draw, Adobe Illustrator, Photoshop CS3/CS4, Microsoft Publisher, PowerPoint, etc. Mai departe. Acest lucru necesită îmbunătățiri urgente și serioase ale driverelor din partea AMD, mai ales că rezultatele noastre sub Vista demonstrează performanțe mult mai mari decât în ​​Windows 7 (vom vorbi despre asta în a doua parte a articolului).

În timpul pregătirii acestui articol și al testării, l-am sunat pe Antal Tungler, manager tehnic de PR pentru AMD, de mai multe ori pentru a discuta despre performanța 2D a liniei Radeon HD 5000 sub Windows 7. Când ne-am confirmat singuri că aceste probleme de performanță erau legate în mod specific de Cu problemele GDI pe care le întâmpină aproape orice program care funcționează cu Windows pe desktop, această situație nu ne mai părea tolerabilă, mai ales pentru utilizatorii de acasă și de la birou. Mai mult, GPU-ul grafic integrat al concurentului a gestionat grafica 2D mai eficient.

Nu putem decât să presupunem (și să sperăm) că cauza și soluția posibilă se află în driverele Catalyst. Dacă da, AMD va putea rezolva problemele destul de ușor. Luand in considerare lansarea recentă a plăcilor video ieftine, putem presupune că problemele afectează întreaga linie. Dar ceea ce ne îngrijorează mai mult, având în vedere rezultatele testului, este că dreptunghiurile primesc o accelerare vizibilă, dar toate celelalte primitive grafice (în special liniile și curbele) nu. Vedem o scădere gravă a performanței atunci când accelerarea hardware GPU este activată - ceea ce sugerează că nu se întâmplă nimic bun aici. Placa grafică discretă Nvidia întârzie și la randarea elipselor și a poligoanelor și suntem foarte interesați să știm de ce se întâmplă acest lucru.

Deocamdată, recomandăm utilizatorilor liniei de plăci video Radeon HD 5000 să dezactiveze interfața Aero atunci când lucrează cu programe care folosesc intens grafica 2D. În acest caz, creșterea productivității poate fi de până la 300%, ceea ce compensează cu ușurință lipsa ramelor frumoase și transparente. În plus, puteți dezactiva Aero numai pentru programele de pornire, astfel încât să nu trebuie să renunțați cu totul la interfața Aero.

Faceți clic dreapta pe pictograma programului, apoi selectați „Proprietăți” din meniul care apare. Selectați fila „Compatibilitate” din fereastra de proprietăți, apoi bifați caseta de selectare „Dezactivați compoziția desktopului”.


Selectarea „Dezactivare compoziție desktop” dezactivează suportul DWM.

În a doua parte, vom testa din nou capacitățile plăcilor video AMD și le vom compara cu concurenții direcți și indirecti de la nVidia. Între timp, vom discuta cu AMD și Nvidia pentru a discuta rezultatele testului nostru inițial. Suntem foarte interesați să știm ce spun ei.

După discuții intense cu colegii noștri pe această temă, am decis că vom efectua teste mai aprofundate pe diferite hardware sub XP, Vista și Windows 7. Scopul nostru ar fi să găsim o înțelegere mai profundă a capacităților grafice 2D ale tuturor acestor componente. sisteme de operare. Intenționăm să ne uităm la plăcile grafice S3 mai vechi, Voodoo, numeroase modele GeForce mai vechi și întreaga linie de plăci grafice AMD/ATI. În general, nu vrem să lăsăm nimic în urmă, inclusiv chiar și nuclee grafice integrate din selecția noastră mare de plăci de bază în testele noastre.

Știm deja că în acest proces vom găsi câteva lucruri interesante, precum și câteva dezamăgiri. În a doua parte a articolului, vom oferi, de asemenea, o descriere mai precisă a testelor, evaluări ale rezultatelor testelor și, de asemenea, vom oferi posibilitatea de a descărca Tom2D Benchmark. Suntem siguri că veți găsi acest lucru foarte interesant, mai ales că descoperim care plăci grafice de calitate pentru consumatori vor oferi performanțe grafice 2D mai bune pentru anumite versiuni de Windows. Vă așteaptă surprize, așa că rămâneți pe fază!

Actualizați. Aruncând o privire la rezultatele noastre preliminare de performanță 2D, AMD a făcut următoarele ipoteze.

  • Tom's Hardware a măsurat o zonă (linii 2D etc.) care nu fusese încă optimizată.
  • Înainte de acest nou test, nu am văzut alte aplicații blocate în același mod, așa că nu ne-am concentrat pe el înainte.
  • Analiza noastră inițială arată că nu există limitări hardware în acest domeniu.
  • Vom cere echipei noastre de dezvoltare a driverelor să optimizeze și pentru această zonă și vom încerca să introducem un nou driver pentru a rezolva problema cât mai repede posibil.
  • Am găsit deja o modalitate simplă de a ne crește serios performanța și vom încerca să o implementăm în versiunile viitoare ale driverului Catalyst (trebuie să scriem codul, să-l validăm, să ne asigurăm că nu sparge nimic altceva, etc.).

Prezența unui hardware puternic nu înseamnă întotdeauna funcționarea rapidă a dispozitivului. În unele cazuri, optimizarea lasă de dorit și utilizatorul poate încerca să accelereze singur funcționarea smartphone-ului sau a tabletei. Există mai multe metode care pot ajuta la îndeplinirea acestei sarcini. Aceste metode sunt discutate în articolul nostru.

Eliminați toate aplicațiile inutile

Există aplicații care pot folosi resurse suplimentare. Dacă aceste aplicații nu sunt folosite, merită să le ștergeți.

Aceasta include aplicațiile care sunt instalate pe smartphone la cumpărare. Unele dintre ele nu pot fi eliminate, sunt încorporate în firmware, în timp ce altele, dacă nu aveți nevoie de ele, sunt mai bine eliminate.

Nu folosi imagini de fundal live

Imaginile de fundal live, destul de ciudat, necesită resurse suplimentare. Desigur, arată frumos și sunt plăcute ochiului, dar dacă ai nevoie de viteză, tot ar trebui să le iei rămas bun de la ei.

Nu utilizați lansatoare terțe

Nu utilizați widget-uri suplimentare

Același lucru se poate spune despre widget-uri, care pot fi plasate din abundență pe desktop. Încercați să păstrați numai acele widget-uri fără de care cu adevărat nu puteți trăi, cum ar fi un ceas sau o prognoză meteo. Alte widget-uri ar trebui eliminate de pe desktop, deoarece acestea, deși puțin, încă „manca” memoria.

Dezactivați aplicațiile inutile

Există aplicații care rulează în fundal, dar rareori sunt necesare. În acest caz, vorbim despre aplicații terțe, și nu despre cele de sistem, care nu este recomandat să fie dezactivate, deoarece acest lucru poate duce la o defecțiune a sistemului.

Dezactivarea aplicației este ușoară. Accesați setări, găsiți secțiunea cu aplicații, selectați aplicația dorită, intrați în ea și faceți clic pe „Oprire”.

Dezactivează GPS-ul și geolocalizarea

Setările de localizare geografică sunt foarte importante, dar pot fi folosite doar atunci când este necesar.

Acest lucru, apropo, va ajuta și la creșterea autonomiei dispozitivului.

Efectuați curățarea utilizând aplicații terțe

Nu uitați să ștergeți memoria cache și alte date temporare, care pot afecta și viteza sistemului. De regulă, acestea sunt aplicații terțe, cum ar fi Clean Master, care vă permit să ștergeți fișiere temporare, dar pe unele dispozitive sunt deja încorporate în firmware.

Utilizați accelerarea GPU

Accesați meniul, găsiți secțiunea „Pentru dezvoltatori” sau „Opțiuni pentru dezvoltatori”.

Dacă nu vedeți o astfel de secțiune, trebuie să o activați. Găsiți secțiunea „Despre telefon”, „Despre tabletă” sau „Despre dispozitiv”, intrați în ea și faceți clic pe „Număr de compilare” de 7 ori (uneori trebuie să faceți clic de mai multe ori, sistemul vă va spune despre asta).

În Opțiuni pentru dezvoltatori, activați procesarea GPU forțată (accelerarea hardware 2D în aplicații).

În același timp, puteți dezactiva animația. Căutați elemente precum „Scara animație fereastră”.

Dezactivați animația. Fiți atenți atunci când editați parametrii, unii dintre ei pot duce la probleme cu sistemul.

Actualizați firmware-ul

Uneori, problemele de performanță sunt legate de firmware-ul în sine, care poate fi rezolvat prin actualizarea aceluiași firmware. Acesta este motivul pentru care (și nu numai) este atât de important să actualizați software-ul smartphone-ului sau tabletei la timp.

Ai idei diferite de ale noastre? Ne vom bucura dacă ne anunțați despre ele folosind comentarii la articol.