Back to Ceaușescu's profile
Ceaușescu

Posts by Ceaușescu

2,531 posts

  1. #2021
  2. #2022
  3. #2023
  4. #2024
  5. #2025
  6. #2026
  7. #2027
  8. #2028
  9. #2029
  10. #2030
  11. #2031
  12. #2033
  13. #2034
  14. #2035
    Reply in Chat & Socialize

    Incep cu o comparație empirică…dacă am încerca să asociem părți ale corpului uman cu componentele unui calculator, oare ce-am obține? Simplificat:

    creierul ar fi probabil procesorul și memoria

    gura și corzile vocale…placa de rețea, placa de sunet

    urechile, microfonul (ambele sunt periferice de intrare)

    mâinile și picioarele, poate periferice clasice(mouse, tastatură etc.)

    Dacă continuăm alegoria și mergem cu presupunerea rezonabilă că un creier e poate cea mai utilă parte la un om,  după logica de mai sus, e probabil ca memoria și unitatea de procesare a unui calculator să fie componentele sale cheie – surprinzător, avem dreptate.

    Astfel, în acest articol, voi încerca să aduc puțină lumină asupra ideilor ce stau în spatele unităților de procesare, cum au apărut, direcția de dezvoltare ș.a. Și nu va fi locul unde vom discuta despre procesoare Intel sau AMD. Sunt enorm de complicate, dar măcar vom atinge principiile de funcționare.

     

    1. Privire generală asupra abstractizărilor

    Să începem a gândi low – level. Pentru a ne face o idee asupra noțiunii de low-level să ne gândim la Notepad. Pare simplu și super basic, dar pentru noi el se va afla în ceruri(ca nivel de abstractizare). Aceste abstractizări sunt foarte utile, tocmai fiindcă surprind o generalitate grozavă. Oare ce se află sub notepad? Cu siguranță se află sistemul de operare – o altă abstractizare pe care utilizatorul o resimte sub forma unor apeluri sistem, un sistem de fișiere, toate animate de niște procese ce merg în tandem creându-ți impresia de simplitate în acel ecran plin cu pictograme…Interesant, ținând cont că pentru a funcționa corect un  S.O. modern are minim 80-100 de procese ce merg aparent simultan. Ne întrebăm atunci ce e sub sistemul de operare. La acest nivel noțiunea de interfață cu utilizatorul sau cod lizibil nu mai are sens, fiindcă am ieșit din universul software. Suntem la nivelul componentelor, iar aici doar arhitectura hardware ne mai scoate din impas. Chiar și la acest nivel, am putea să reducem totul la porți logice și electronică, iar toate acestea la componentele fundamentale…tranzistori, condensatori, rezistori și din când în când bobine…și mai jos e doar ELECTRONUL, cu mărimile ce ni-s dragi(I și V), introduse de dragul explicării sale. Tensiunea din urmă(V) e importantă fiindcă dacă-i mai multă sau mai puțină vom zice că-i fie 0(nimic), fie ceva(1) și iacă-tă intuim că sistemul ăsta cu 0 și 1 o fi destul de bun.

    În articol, vom fi la nivelul arhitecturii hardware. Imaginile cu diagrame sunt preluate din cursul Arhitectura Calculatoarelor,  UT Cluj, facultatea de Automatică și Calculatoare.

     

    2. Primul procesor

    Înainte de procesor vorbim de codul mașină, fiindcă vreau să pun totul în legătură cu ceea ce mai știm. Voi presupune că ați mai scris C și ați mai compilat din Bash sau CMD. În fine, și dacă nu, faci ceva de genul:

    1

    2

    gcc helloworld.c -o hello

    ./hello

    -o vine de la obiect, fiindcă asta se obține la finalul procesului de compilare. Acesta e de fapt codul mașină(ce a trecut prin compilator și asamblor). Când scriem ./hello un Linker atașează librăriile suplimentare(alt cod mașină din altă parte) și în final, executabilul rulează totul ca pe un întreb. Programul în execuție nu e altceva decât secvențe de biți, ce sunt stocate în memorie sub formă de instrucțiuni.

    Ca o mică paranteză, prin compilare înțelegem compilator + asamblor, deși e incomplet spus, numai că s-a încetățenit totul. De curiozitate, pentru a vedea rezultatul compilării, scrieți:

    1

    gcc -S -o my_asm_output.s helloworld.c

    Acel my_asm_output.s va arăta și va conține cod de asamblare.

    Despre regiștri

    În imaginea de mai sus puteți vedea niște instrucțiuni de tipul movl și addl, ce mută, respectiv adună informația. Mai sunt câteva lucruri de tipul eax, edx, rsi ș.a. Aceștia sunt regiștri. Nu voi intra în detalii, căci e o întreagă poveste în spatele lor, iar arhitectura Intel 8080 a devenit standardul de facto în explicarea și înțelegerea rolului lor. În esență sunt memorii foarte rapide, cele mai rapide de fapt, din interiorul procesorului. Ele sunt buffere de 32 sau 64 de biți, strâns legate de arhitectura procesorului.

    Majoritatea operațiilor elementare pe care un calculator le face, se realizează cu acești regiștri. Simpla adunare a două numere se poate face punând cele două numere în 2 regiștri. Regiștri sunt conectați la unitatea aritmetico-logică, ce va face adunarea propriu zisă, iar rezultatul poate fi pus în alt registru, de exemplu eax(acumulatorul).

    Suntem acum, suficient de dotați să vedem poate cel mai simplu procesor.

     

    2. Hello World-ul procesoarelor

    Să schematizăm exemplul de mai sus și să presupunem că scriem o instrucțiune în limbaj de asamblare. Poate ceva de genul:

    1

    add $rd, $rs, $rt  ;RF[rd] ← RF[rs] + RF[rt]

    Instrucțiunea de mai sus e scrisă în RTL(Register Transfer Language, un alt standard).

    $rd este registrul destinație

    $rs registrul sursă

    $rt registrul de transfer

    În imaginea de mai sus, folosim pentru simplitate instrucțiuni pe 32 de biți. Opcode(Operation Code) e o secvență de biți specifică unei anumite clase de instrucțiuni, function e chiar add în cazul nostru, iar sa reprezintă shift arithmetic, ce e folosit în operațiile de shiftare(de ex. înmulțirea cu 2 se face shiftând la stânga cu o poziție). Numerele ce sunt deasupra ne arată câți biți alocăm pentru fiecare lucrușor – adunând biți obținem o instrucțiune pe 32 de biți.

    Unde e ținută acea instrucțiune? În memorie, desigur, mai exact în segmentul de cod al acesteia. Și-atunci ajungem de unde am plecat. Instrucțiunea de mai sus e de fapt o “linie” de cod obiect ce obținem la finalul compilării…cool.

    3. Aducerea instrucțiunilor

    Am văzut mai sus cum arată o instrucțiune. Un program compilat e format din mii de instrucțiuni de acest gen(programele mici, ca de obicei poate-s milioane), toate încărcate în memorie și gata să fie rulate într-o milisecundă.

    Fun fact!! Această viteză e dictată de timpul necesar schimbării stării logice la nivelul porților logice, adică a tranzistorilor – dacă tranzistorii sunt mici e vorba de picosecunde.

    Memoria e organizată în octeți, deci 4 octeți ne fac o instrucțiune. Memoria este precum o stivă, are o bază, dar cel mai important, poate fi adresată. Asta înseamnă că dacă la intrare introducem adresa 8, ieșirea va conține datele de la acea adresă. Tocmai acest comportament ne permitem să rulăm instrucțiuni consecutive. Vom schimba puțin exemplul de mai sus și obținem:

    PC este un registru și poartă numele de Program Counter. El e necesar, fiindcă astfel nu știm ultima adresă la care am rămas. În timp ce memoria oferă la ieșire instrucțiuni pe 32 de biți, ca cele de mai sus, un sumator adună 4 octeți la contorul de program(PC) pentru a merge la următoarea instrucțiune.

     

    Instrucțiunea de ramificare(branch)

    Trebuie să înțelegem că orice comandă pe care procesorul o înțelege, undeva, în adâncul său, se regăsește în circuite logice interconectate(ce-s lucruri palpabile…fire microscopice, tranzistori ș.a.). În acest articol prezint numai câteva instrucțiuni fundamentale, că oricum se complică puțin lucrurile și nu îmi doresc a face din el un curs de facultate.

    Revenim la instrucțiunea de ramificare…if-ul acestei lumi. Ce înseamnă el de fapt? Dacă o condiție e îndeplinită, sari atunci la o anumită instrucțiune, iar dacă nu continuăm la următoarea. În limbaj RTL:

    1

    2

    if (R[rs] == R[rt]) PC ← (PC + 4) + S_Ext(imm) << 2

    else PC ← PC + 4

    O întrebare faină ce mi-aduc aminte că ne-a pus-o proful nostru a fost…ce-i cu  <2? <2  înseamnă a shifta la stânga cu două poziții, deci o înmulțire cu 4. Răspunsul nu-l spun, dar vă dau un indiciu…are legătură cu memoria și modul ei de organizare, datorită instrucțiunilor.

    În codul de mai sus folosim doar 2 regiștri, rs și rt. Instrucțiunea va fi de forma:

    Prin adresă, înțelegem o adresă relativă, iar prin imediat, un număr. În instrucțiunea de ramificare, acel imediat e folosit pe post de offset în instrucțiuni.

    În instrucțiunea de ramificare, atunci când condiția e îndeplinită, la contorul de program adunăm acel offset de care vorbeam. Contorul de program e pe 32 de biți, dar imediatul nostru, din lipsă de loc este pe 16 biți. Tocmai de aceea, imediatul trebuie extins cu semn(poate vrem să adunăm sau să scădem, depinde), ca să forțeze 16 biți de 0 în față(sau de 1, în complement față de 2, inversând cei 16 biți și adunând 1), pentru a-l face un imediat pe 32 de biți. Toate acestea, pentru a-l putea aduna cu contorul de program. Procesul de adunare se va face desigur prin unități aritmetico-logice(ALU).

     

    Instrucțiunile load și store word (de scriere în regiștri, respectiv memorie)

    Două instrucțiuni sunt foarte fundamentale pentru un procesor:

    să știe cum să stocheze în memorie date

    să încarce date din memorie în regiștri săi

    Schematizat, în limbaj RTL:

    1

    2

    Tip I – Load word: R[rt] ← MEM[R[rs] + sign_ext(Imm16)]

    Tip I – Store word: MEM[ R[rs] + sign_ext(Imm16) ] ← R[rt]

    Dacă mergeți înapoi la exemplul cu instrucțiunea de adunare, acolo foloseam rs, rt, rd și function. Apoi, am ajuns la instrucțiunea branch și am văzut că aveam nevoie de rs și rt, iar restul biților îi puteam aloca pentru o adresă sau un imediat. Totuși, ambele instrucțiuni ajung să folosească ALU, așa că trebuie un mecanism prin care să permitem doar unei variante să fie activă. Soluția este să folosim un multiplexor, o chestie care din două intrări permite ieșirea la una singura, în funcție de valorile unui semnal de control(în ex. 0 pentru prima, 1 pentru a doua).

     

    4. Procesorul asamblat

    Am discutat câteva instrucțiuni esențiale și am schematizat componentele. Rămâne să le punem cap la cap. Fără a prezenta și partea de control, în acest moment, avem ceva de genul:

    În schema de mai sus, putem vedea o componentă nouă, ALU Control, împreună cu semnalul ei de activare, ALUOp. ALU control este un soi de multiplexor, ce are comenzi la intrări pentru ALU. Cu ALUOp selectăm care comandă vrem să o dăm la ALU(adunare, scădere, înmulțire, shiftare logică etc.).

    Față de schemele anterioare, aceasta conține și semnale de activare pentru fiecare componentă. Ele sunt gestionate de către o unitate separată din procesor, numită Unitatea de Control. Modelul de procesor prezentat mai sus poartă numele de MIPS cu ciclu unic și este printre pionierii procesoarelor moderne.

  15. #2036
    Reply in Chat & Socialize

    1. Introducere

    Redis reprezintă o paradigmă diferită de stocare a datelor. Dezvoltatorii îl numesc server de structuri de date, motiv întemeiat, deoarece filozofia Redis pornește de la ideea că datele ar trebui stocate în memoria RAM. În felul acesta Redis poate efectua în principiu operațiile cu o viteză ridicată, eliminând procesul laborios pe care îl întâlnim de exemplu la SQL, unde datele sunt scrise pe disc.

    Este considerat a fi cel mai important model NoSQL, fiind bazat pe entități de tip cheie-valoare. Se dovedește a fi net superior în aplicațiile scalabile, îndeosebi în clusterele de mașini, unde este mult mai flexibil decât tabelele unei baze de date relaționale.

     

    2. Caracteristici generale

    Redis are trei particularități ce îl diferențiază de o mare parte din competiție:

    Redis păstrează toată baza de date în memorie, dar folosește discul pentru persitență

    Dispune de un set foarte larg de tipuri de date: string-uri, hash-uri, liste, seturi etc.

    Redis poate să replice datele la orice număr de sclavi

    Deoarece se utilizează structuri de date, cu valori ce pot conține tipuri de date complexe, operațiile atomice pot fi definite chiar pe aceste tipuri.

    În ciuda faptului că datele se stochează în memoria volatilă, ele sunt persistente pe disc. Ideea este ca operațiile asincrone de scriere și citire să fie făcute din memorie, fiind realizate mult mai rapid și cu avantaje evidente, iar persistența să fie un proces de fundal, distinct de cele doua operații elementare.

    De asemenea, este important de menționat că Redis funcționează doar pe sistemele bazate pe UNIX. Instalarea este nativă în aceste sisteme de operare și necesită câțiva pași simpli:

    :: Instalarea Redis pe Ubuntu

    1

    2

    3

    4

    $ sudo apt-get update

    $ sudo apt-get install redis-server

    $ redis-server

    $ redis-cliredis 127.0.0.1:6379> pingPONG

     

    2.1. Chei

    Fiind un sistem de tip cheie valoare, acestea ocupă un loc central în arhitectura sistemului. Cheile sunt sigure binar, asta însemnând că poate fi folosită orice secvență binară ca și cheie, de la un string precum “foo” până la conținutul unei file JPEG. Un string gol este de asemenea o cheie validă.

    Există totuși o serie de recomandări în privința cheilor:

    Nu ar trebui să fie foarte lungi, deoarece găsirea acestora în setul de date necesită o serie de comparații costisitoare.

    Cheile foarte scurte nu sunt de ajutor, deoarece sunt greu de manipulat, iar la nivelul memoriei câștigul nu este semnificativ.

    Se recomandă urmărirea unei scheme, pentru a putea exista un set de reguli prin care s-ar putea găsi cu ușurință o cheie(din punctul de vedere al utilizatorului).

     

    2.2. String-uri

    Tipul String este cel mai simplu tip de valoare ce poate fi asociat cu o cheie Redis. Deoarece cheile Redis sunt de fapt string-uri, când folosim tipul string ca și valoare nu se realizează altceva decât maparea unui string la alt string. Tipul string este util în cazuri multiple, de exemplu pentru memorarea rapidă a unor fragmente HTML.

    În exemplul de mai sus am folosit redis-cli(command line interface) pentru a scrie comanda ping. În aceeași manieră se poate seta un string.

    1

    2

    3

    4

    5

    redis>  SET mykey "Hello"

    OK

    redis>  GET mykey

    "Hello"

    redis>

     

    2.3. Liste

    Redis folosește liste înlănțuite pentru managementul elementelor dintr-o mulțime. Avantajul este că adăugarea de noi elemente se face în timp constant. Un nou element se adaugă la o listă cu 10 elemente în același timp în care se adaugă la o listă cu un milion. Principalul dezavantaj apare la accesarea elementelor unde timpul de accesare este proporțional cu numărul de noduri din listă.

    Motivul principal pentru care Redis utilizează liste înlănțuite este că pentru o bază de date este crucial să se poată adăuga înregistrări noi foarte rapid.

    LPUSH adaugă un nou element la începutul listei

    RPUSH adaugă un nou element la coada listei

    LRANGE extrage gama elementelor dintr-o listă(0 primul element, -1 ultimul)

    1

    2

    3

    4

    5

    6

    7

    8

    redis>  LPUSH mylist "world"

    (integer) 1

    redis>  LPUSH mylist "hello"

    (integer) 2

    redis>  LRANGE mylist 0 -1

    1) "hello"

    2) "world"

    redis>

    1

    2

    3

    4

    5

    6

    7

    8

    redis>  RPUSH mylist "hello"

    (integer) 1

    redis>  RPUSH mylist "world"

    (integer) 2

    redis>  LRANGE mylist 0 -1

    1) "hello"

    2) "world"

    redis>

     

    2.4. Hash-uri

    Hash-urile Redis reprezintă doar perechi câmp-valoare:

    1

    2

    3

    4

    5

    6

    7

    redis>  HMSET myhash field1 "Hello" field2 "World"

    OK

    redis>  HGET myhash field1

    "Hello"

    redis>  HGET myhash field2

    "World"

    redis>

    Hash-urile sunt foarte utile pentru reprezentarea obiectelor unde avem proprietăți și valori. Este bine de știut că un hash nu are o limită în privința numărului de câmpuri(cu excepția considerentelor fizice – spațiul de memorie volatilă ș.a.).

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    > hmset user:1000 username antirez birthyear 1977 verified 1

    OK

    > hget user:1000 username

    "antirez"

    > hget user:1000 birthyear

    "1977"

    > hgetall user:1000

    1) "username"

    2) "antirez"

    3) "birthyear"

    4) "1977"

    5) "verified"

    6) "1"

     

    2.5. Seturi

    Seturile sunt colecții neordonate de string-uri. Comanda SADD pemite adăugarea unor noi elemente la set. Sunt permise o serie de alte operații asupra seturilor precum testarea dacă un element deja există, realizarea unei intersecții, uniuni sau diferență între seturi multiple ș.a.

     

    3. Redis vs. MySQL

    Întrebarea naturală este dacă Redis poate înlocui un sistem relațional precum MySQL. Răspunsul este mai complicat și depinde foarte mult de context. Filozofia Redis pornește de la idea stocării datelor în memorie pentru managementul foarte rapid și ușor prin intermediul relațiilor de tip cheie valoare. MySQL pe de altă parte este mult mai rigid, dar are avantajul scalabilității.

    Majoritatea sistemelor actuale au o memorie volatilă redusă în comparație cu mediile de stocare externe, iar pentru multe aplicații această limitare ar putea duce la probleme esențiale pe parcurs neexistând mecanisme complexe prin care să se poată stoca corespunzător datele.

    Redis este un mecanism ideal pentru aplicații sau task-uri mici, ce trebuie să fie foarte rapide. De exemplu, stocarea unor Cookie-uri sau Sesiuni, sau alte operații calculabile sunt mai ușor de controlat din memoria internă.

    4. Concluzie

    Redis este un sistem inovator NoSQL ce oferă o viteză neegalabilă în raport cu alte sisteme relaționale bazate pe modelul lui Codd. Această viteză provine în principal datorită  modului de stocare a informației, dar și datorită simplității apelării acesteia. În Redis, toate operațiile se reduc la modelări a perechilor cheie – valoare din memoria volatilă.

  16. #2037
    Reply in Chat & Socialize

     

    Cu câțiva ani în urmă scriam un articol similar despre un router wireless compatibil Romtelecom(router pe care îl folosesc și acum deși lucrurile s-au schimbat). Postarea de atunci era mai mult o recenzie la ce îmi cumpărasem și un ghid de instalare al routerului.

    Timpul a trecut și coincidența a făcut să dau peste un site de recenzii a multor produse electrice/electronice. Un anume articol mi-a atras atenția și mi-a amintit de vechea postare. Tocmai de aceea, în acest articol voi detalia puțin ce caracteristici au routerele compatibile Telekom, dar și o parte din terminologia ce am văzut că adesea este ambiguă.

     

    Routerul oficial oferit de către provider

    Încep prin a vă prezenta routerul oficial. Cu siguranță este compatibil și funcționează ceas, iar dacă nu vrei să te complici inutil atunci e cea mai bună alegere. Eu totuși prezint lucrurile puțin diferit. Să vă explic de ce: cu câțiva ani în urmă(să fie vreo 4 sau 5) aveam un modem simplu ce avea doar câteva mufe Ethernet – niciun WiFI. Ca tot omu, am vrut să îmi modific modem-ul așa că am sunat la Romtelecom. Dumnealor mi-au oferit un router ce costa vreo 200 de lei. Nu prea mi-a convenit și-atunci m-am hotărât să caut alternative, desigur, funcționale.

     

     

    Aici putem vedea bucata esențiala – întreaga familie de standarde ADSL. Pe lângă ele se mai vorbește de un standard VDSL și WLAN. Ce sunt acestea, voi vorbi în cele ce urmează:

     

    Router vs. modem

    Înainte de toate, merită să clarificăm terminologia – poate și fiindcă adesea, eu o încurc. Routerul e un device ce permite altor device-uri să comunice între ele, deși acestea se află pe două  subneturi diferite. Să traducem în termeni practici: la un router normal vedem două fire distincte(se mai numesc interefețe) – ambele păstrează același standard, Ethernet. Un exemplu de router e cel wireless.

    Ethernet, la rândul său, este un standard pentru transmiterea datelor, fie că vorbim de semnale electrice, electromagnetice sau de lumină. Aici auzim des de două standarde:

    IEEE 802.3 – standardul pentru Ethernet LAN

    IEEE 802.11 – standardul pentru Wireless

    Alte standarde sunt și pentru fibră optică, infraroșu, Bluetooth sau alte canale de comunicație.

    Totuși, ca notă de final rămâne o mica confuzie dintre router și modem.

    Modemul e ca un traducător în electronică(modulator-demodulator). El schimbă semnalul dintr-o formă(codificare) în alta. Un modem ADSL schimbă acele semnale ADSL(cu frecvențe variate) în semnale binare(cum este la standardul WLAN).

    1. Standardul ADSL

    Încep prin a vă spune că ADSL, Ethernet și Router sunt trei lucruri diferite.

    Un router ADSL este o combinație de:

    un modem ADSL

    un router

    ADSL nu e o interfață, e o tehnologie de transmitere a datelor. ADSL folosește o mulțime de frecvențe(aici mă refer la frecvențele semnalelor electrice). Standardul real este de fapt DSL(Digital Subscriber Line), ADSL (Asymmetric Digital Subscriber Line) e doar o variantă în care canalul de comunicație e asimetric: în termeni practici vedem asta tot timpul – download-ul e mult mai rapid ca și upload-ul.

    ADSL2+  dublează bandwidth-ul folosit pentru descărcarea datelor și poate ajunge pănă la viteze de 20 MB/s pe linii telefonice care nu sunt la mai mult de 1,6 km de ruoter.

     

    2. Standardul VDSL

    VDSL(Very High Bitrate Digital Subscriber Line) e mai aproape de Internetul prin cablu atât în viteză cât și comportament în comparație cu ADSL. Poate fi de până la 5 ori mai rapid pentru download și chiar de 10 ori mai rapid pentru upload. Vitezele maxime de upload merg undeva la 60 de MB/s dacă ești în apropierea providerului. VDSL reușește acest lucru prin utilizarea mai eficientă a liniilor telefonice care scurtează efectiv distanța pe care trebuie să o străbată semnalul. Rezultatul este un bandwidth ridicat și o performanță în medie mai mare decât în cazul ADSL.

     

    În concluzie, atunci când vreți să vă cumparați un router Telekom, asigurați-vă că suportă standardele ADSL și cu siguranță va funcționa. Într-o notă de final, chiar la începutul articolului am vorbit de un anume articol.

  17. #2038
  18. #2039
    Reply in Chat & Socialize

    Probabil stiti ca, in fiecare zi, exista o noua imagine frumoasa atat pe Bing, motorul de cautare Microsoft, cat si pe lockscreen-ul de la Windows 10. Ei bine, acea imagine o puteti avea si voi ca si wallpaper, automat. 

    De multa vreme caut o solutie care sa-mi permita sa-mi pun imaginea de spotlight pe desktop. Ba erau aplicatii care mi-o descarcau manual, ba aplicatii care doar in varianta PRO stiu sa faca ceva, ba unele care nu merg. Ei bine, azi am descoperit exact aplicatia perfecta, se numeste Dynamic Theme.

    Este o aplicatie 100% gratuita pe care o gasiti in Microsoft Store. Stie sa faca urmatoarele:

    • sa seteze background-ul de pe desktop si/sau lockscreen cu imaginea zilei de la Windows 10 Spotlight si/sau Bing.com

    • sa descarce automat imaginile Spotlight si/sau Bing.com intr-un folder predefinit atunci cand acestea apar

    • sa te anunte cand apar imagini noi de Bing sau Spotlight

    • sa-ti permita sa pui imagini din istoricul Bing sau Spotlight

    Nu am ce sa spun mai multe, este o aplicatie perfecta pe care as da cativa dolari daca ar fi nevoie. Majoritatea celor gasite pana acum nu isi faceau deloc treaba si nu m-au convins.

  19. #2040
    Reply in Chat & Socialize

    NVIDIA anunță lansarea versiunii beta a serviciului de game-streaming GeForce NOW, care oferă acces, prin intermediul cloud-ului, la supercomputere capabile să ruleze o selecție generoasă de jocuri din librăriile digitale, precum Uplay, la cele mai înalte setări. Astfel, jucătorii se vor putea bucura de titlurile preferate la o rezoluție 1080p, cu până la 120 de cadre pe secundă.

    Cu ajutorul acestui serviciu, NVIDIA oferă acces la puterea de calcul din propriile centre de date, ceea ce înseamnă că gamerii au nevoie numai de o conexiune puternică și stabilă la internet pentru a juca titlurile favorite din propria librărie, totul la cele mai înalte setări, chiar și pe PC-uri sau laptopuri mai vechi. În acest moment, GeForce NOW poate fi testat gratuit.

    GeForce NOW va accesa librăriile de jocuri ale utilizatorilor de pe cele mai importante platforme digitale, printre care se numără de astăzi și Uplay PC al companiei Ubisoft. Titlurile disponibile în acest moment sunt Tom Clancy’s Rainbow Six Siege, Assassin’s Creed: Black Flag, Tom Clancy’s The Division, For Honor și Tom Clancy’s Ghost Recon Wildlands.

    GeForce NOW le oferă gamerilor libertatea de a se bucura de gaming-ul cu performanțe ridicate în orice loc. Conectează un număr mare de computere cu Windows și macOS la supercomputere din cloud, făcând streaming grafic la 1080p și până la 120 cadre pe secundă. Fiindcă operațiunile dificile au loc în centrele de date NVIDIA, utilizatorii se pot bucura de cele mai spectaculoase jocuri ale anului la setări maxime și frame rate-uri ridicate, chiar și pe PC-uri mai vechi.

    Este suficient ca utilizatorii să se conecteze la librăriile lor de jocuri din magazinele digitale cunoscute, precum Uplay sau Steam, și să pornească jocurile. De asemenea, jocurile free-to-play pot fi instalate. GeForce NOW oferă o experiență de gaming mai rapidă ca oricând, întrucât task-urile de mentenanță a sistemului sunt gestionate de o altă entitate. Patch-urile și update-urile de drivere se instalează automat, iar salvările în cloud sunt pornite pentru gaming-ul cross-platform.

    GeForce NOW dispune de update-uri constante, inclusiv de îmbunătățiri ale service-ului, jocuri noi și centre de date suplimentare. Cel de-al zecelea centru de date GeForce NOW tocmai a fost deschis în Amsterdam, oferind o experiență de gaming fluidă utilizatorilor din America de Nord și Europa.

    Disponibilitate

    Serviciul este disponibil în versiunea public beta pe majoritatea sistemelor desktop și laptop Mac și cu Windows din Europa și America de Nord. Aplicația GeForce NOW este disponibilă și în limbile franceză și germană, cu suport pentru limbă pentru majoritatea jocurilor populare, precum PLAYERUNKNOWN’S BATTLEGROUNDS, Arma 3, Garry’s Mod, Fortnite și nu numai.

    Pe fondul cererii extrem de ridicate, există o listă de așteptare pentru versiunea beta a serviciului. Utilizatorii pot intra pe listă începând din acest moment, fie că utilizează PC sau Mac, și să-și transforme computerul în cel mai bun instrument pentru gaming.