How did retro consoles handle graphics before modern GPUs?
🇬🇧 English
Graphics chips could draw but not compute, until the Xbox arrived. Console graphics came from bespoke, fixed-function chips for more than two decades, until the original Xbox burst onto the scene in 2001 with a PC GPU inside. Those of us who played on early consoles like the NES will have come across some familiar quirks with those fixed-function chips: When too many Goombas lined up on the same row in Super Mario Bros., for example, some of them would start to flicker. That's the NES's graphics chip hitting its hard limit of eight sprites per scanline; the chip drops anything past eight, and the game alternates which ones.
In the NES, it was the Ricoh 2C02 Picture Processing Unit that rendered game graphics. A pretty rudimentary chip, it couldn't run any code. Instead, it took tile artwork from the cartridge and a couple of lookup tables from memory and turned them into a TV signal, one scanline at a time. That arrangement — a dedicated picture generator fed by the CPU — is how most consoles rendered their graphics from the late 1970s into the 2000s.
When Microsoft's first Xbox came out in November 2001, it didn't look much like any console before it. Instead, it was built around an Intel Pentium III and a graphics chip NVIDIA made specially for it, based on the Ge Force 3. The Ge Force 3 had only been announced that February, and it was the first GPU that let developers program their own pixel and vertex shaders.
Unlike the NES, the earlier Atari 2600 made the CPU also handle graphics. Because its Television Interface Adaptor had no frame buffer, the processor had to feed new values to the chip for every scanline drawn by the beam. Just five years earlier in 1972, the Magnavox Odyssey had no processor or memory, period, drawing its dots and lines with discrete diode-transistor logic. All of these machines were designed around a CRT, which is partly why retro games look better on old CRT TVs.
The Play Station 2's custom silicon shared the load. Sony showed off the PS2's chips in March 1999. The CPU was the Emotion Engine, a 128-bit design Sony built with Toshiba, and graphics went to a separate chip called the Graphics Synthesizer. In the final consoles, the two ran at about 295 MHz and 147 MHz. The Graphics Synthesizer didn't do any geometry work, though. By the time a triangle reached it, it had already been placed within the frame, and all the chip had to do was fill it in with color and texture. The geometry work happened back on the Emotion Engine, in two vector units. The CPU could give VU0 odd jobs, while VU1 mostly ran the 3D transforms that turned a game's models into on-screen triangles. Sony and Toshiba's engineers said a single vector unit could manage 85 million of those transforms a second.
While no two consoles were the same, many early 3D consoles similarly shared the graphical load across multiple chips. Interestingly, Sony had used the term GPU for the 1994 Play Station's Toshiba-designed graphics chip. That's five years before NVIDIA marketed the Ge Force 256 as the world's first GPU. But the working definition of a modern GPU, a chip that runs small programs written by the game, only came with Ge Force 3 in early 2001.
The original Xbox and everything after ...
🇸🇦 العربية
رسوميات الكونسولات النوعية: شرائح الوظيفة الثابتة مقابل بطاقات الرسوميات الحديثة
كانت الشرائح الرسومية ترسم لكنها لا تحسب، حتى جاءت Xbox. كانت رسوميات الكونسولات تأتي من شرائح مخصصة للوظيفة الثابتة لأكثر من عقدين، حتى ظهرت الـ Xbox الأصلية في عام 2001 ببطاقة رسوميات PC داخلها. أولئك منا الذين لعبوا على كونسولات مبكرة مثل الـ NES سيتذكرون بعض الغرائب المألوفة مع تلك الشرائح الوظيفية الثابتة: على سبيل المثال، عندما يتصفح العديد من الـ Goombas في صف واحد في Super Mario Bros.، فإن بعضهم سيبدأ في الوميض. هذا هو الحد الصلب البالغ ثمانية سبرايتات لكل خط ممحاة في الـ NES؛ يتخلص الشريح من كل شيء بعد الثامنة، ويبدأ اللعبة في بدلاً من ذلك.
في الـ NES، كانت وحدة معالجة الصورة Ricoh 2C02 هي التي تعرض رسومات اللعبة. شريحة بسيطة إلى حد كبير، لم تتمكن من تشغيل أي شيفرة برمجية. بل على العكس، أخذت الرسومات المستندة إلى الألوان من الكارتيريدج وجدولين للبحث من الذاكرة وحوّلتها إلى إشارة تلفزيونية، خط ممحاة في المرة الواحدة. هذا التخطيط — مولد صور مخصص يغذيه وحدة المعالجة المركزية — هو الطريقة التي كانت تعرض بها معظم الكونسولات رسوماتها من أواخر السبعينات حتى بداية الألفية الجديدة.
عندما خرجت أولى Xbox من Microsoft في نوفمبر 2001، لم تبدُ شبه أي كونسول قبلها. بل على العكس، كانت مبنية حول Intel Pentium III وشريحة رسومية صُنعتها NVIDIA خصيصًا لها، وتعتمد على Ge Force 3. كان Ge Force 3 قد أعلنت عنه فقط في فبراير الماضي، وكانت أول بطاقة رسومية تتيح للمطورين برمجة الـ shaders الخاصة بهم للبكسلات والرؤوس.
على عكس الـ NES، كانت Atari 2600 السابقة تجعل وحدة المعالجة المركزية تتعامل أيضًا مع الرسومات. بسبب عدم وجود مخزن إطارات في محوّل واجهة التلفزيون، كان على المعالج توفير قيم جديدة للشريحة في كل خط ممحاة يرسمه. قبل خمس سنوات فقط، في عام 1972، لم تكن Magnavox Odyssey لديها معالج أو ذاكرة، نقطة. ارسم نقاطها وخطوطها بمنطق منطقي من الديود والترانزستورات المنفصلة. جميع هذه الآلات كانت مصممة حول شاشة CRT، وهو جزء من السبب لماذا تبدو الألعاب النوعية أفضل على التلفزيونات القديمة من نوع CRT.
شريحة سيليكون مخصصة لـ Play Station 2 شاركت العبء. أظهرت Sony شرائح PS2 في مارس 1999. كانت وحدة المعالجة المركزية هي Emotion Engine، تصميم 128 بت بناه Sony مع Toshiba، وكانت الرسومات تذهب إلى شريحة منفصلة تسمى Graphics Synthesizer. في الكونسولات النهائية، كانا يعملان على حوالي 295 ميجاهرتز و147 ميجاهرتز. لم يقم Graphics Synthesizer بأي عمل هندسية، على الرغم من ذلك. عندما يصل مثلث إلى ذلك، كان قد وضع بالفعل داخل الإطار، وكان على الشريحة مجرد ملء ذلك باللون والنص. حدثت الأعمال الهندسية مرة أخرى في Emotion Engine، في وحدتين متجهتين. كان بإمكان وحدة المعالجة المركة إعطاء VU0 بعض المهام المتقطعة، بينما كان VU1 غالبًا يقوم بتشغيل التحويلات ثلاثية الأبعاد التي تحول نماذج اللعبة إلى مثلثات على الشاشة. قال مهندسو Sony وToshiba إن وحدة متجهة واحدة يمكنها إدارة 85 مليون من هذه التحويلات في الثانية.
على الرغم من أنه لا توجد كونسولان متماثلان، إلا أن العديد من الكونسولات ثلاثية الأبعاد المبكرة شاركت بشكل مشابه العبء الرسومي عبر شرائح متعددة. من المثير للاهتمام أن Sony كانت قد استخدمت مصطلح GPU لوصف شريحة الرسومات التي صممتها Toshiba في Play Station عام 1994. هذا قبل أن يسوق NVIDIA لـ Ge Force 256 باعتبارها أول بطاقة رسومية في العالم بخمس سنوات. لكن التعريف العملي لبطاقة رسومية حديثة، وهي شريحة تشغل برامج صغيرة كتبتها اللعبة، لم يأتِ إلا مع Ge Force 3 في أوائل عام 2001.
الـ Xbox الأصلية وكل ما بعدها...
كيف كانت تعرض الكونسولات النوعية الرسوميات قبل بطاقات الرسوميات الحديثة؟
استخدمت شرائح وظيفية ثابتة مثل Ricoh 2C02 في الـ NES، التي عرضت الرسوميات خط ممحاة في المرة الواحدة باستخدام فن الألوان والجداول البحثية، دون تشغيل أي شيفرة برمجية قابلة للبرمجة.
🇧🇩 বাংলা
রিট্রো কনসোল গ্রাফিক্স: ফিক্সড-ফাংশন চিপস বনাম আধুনিক GPU
গ্রাফিক্স চিপস আঁকতে পারত কিন্তু গণনা করতে পারত না, যতক্ষণা পর্যন্ত Xbox এসে গিয়েছিল। কনসোল গ্রাফিক্স বেশিরভাগ সময় বিশেষভাবে নির্মিত ফিক্সড-ফাংশন চিপস থেকে আসছিল, যতক্ষণা পর্যন্ত মূল Xbox 2001 সালে ভিতরে একটি PC GPU সহ মঞ্চে অভিযান করেনি। আমরা যারা গোম্বা এর মতো প্রাথমিক কনসোলে খেলেছি, সেদিনগুলোতে এই ফিক্সড-ফাংশন চিপস এর সাথে কিছু পরিচয়যোগ্য অজীবতা অনুভব করতাম: উদাহরণস্বরূপ, যখন অনেক গোম্বা Super Mario Bros. এ একই সারিতে লাইন করে দাঁড়ায়, তখন তাদের মধ্যে কিছু ঝলমলে শুরু করে। এটাই NES-এর গ্রাফিক্স চিপের প্রতি স্ক্যানলাইনে আটটি স্প্রাইটের কঠোর সীমা; চিপ আটটির বেশি যেকোনো জিনিস বাদ দেয়, আর গেম কোনগুলো দেখায় তা আন্তরিকভাবে পরিবর্তন করে।
NES-এ, এটাই ছিল Ricoh 2C02 পিক্চার প্রোসেসিং ইউনিট যা গেম গ্রাফিক্স রেন্ডার করত। একটি মোটামুটি মৌলিক চিপ, এটি কোনও কোড চালাতে পারত না। এর পরিবর্তে, এটি ক্যারেটেজ থেকে টাইল কলার আর্ট এবং মেমরি থেকে কয়েকটি লুকআপ টেবিল নিয়ে একটি TV সিগন্যালে রূপান্তর করে, একটি স্ক্যানলাইন এক ঝলকে। এই বিন্যাস — CPU দ্বারা সরবরাহ করা একটি সমর্পিত ছবি উৎপাদক — এটাই ছিল যেভাবে বেশিরভাগ কনসোল তাদের গ্রাফিক্স রেন্ডার করত ছিল 1970-এর দশকের শেষ থেকে 2000-এর দশক পর্যন্ত।
যখন Microsoft-এর প্রথম Xbox নভেম্বর 2001 সালে প্রকাশিত হয়, তখন এটি কোনও আগের কনসোলের সাথে খুব মিল নিয়ে দেখা দেয়নি। এর পরিবর্তে, এটি Intel Pentium III এবং NVIDIA-এর জন্য বিশেষভাবে তৈরি করা Ge Force 3-এর ভিত্তিতে গঠন করা হয়েছিল গ্রাফিক্স চিপ। Ge Force 3 ঠিক ফেব্রুয়ারিয়ার মাসে ঘোষণা করা হয়নি, এবং এটি প্রথম GPU ছিল যা ডেভেলপারদের তাদের নিজস্ব পিক্সেল এবং ভের্টেক্স শেডার প্রোগ্রাম করতে দেয়।
NES-এর বিপরীতে, আগের Atari 2600 কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিটকে গ্রাফিক্স হ্যান্ডেল করতেও বাধ্য করেছিল। কারণ এর Television Interface Adaptor-এর কোনও ফ্রেম বাফার নেই, প্রোসেসরকে প্রতিটি স্ক্যানলাইন আঁকার জন্য চিপে নতুন মান প্রদান করতে হত। ঠিক পাঁচ বছর আগে 1972 সালে, Magnavox Odyssey-এর কোনও প্রোসেসর বা মেমরি নেই, বিনা কোনও সন্দেহে, তার বিন্দু এবং রেখাগুলো ডিস্ক্রিট ডায়োড-ট্রানজিস্টর লজিক দিয়ে আঁকা। সব এই মেশিনগুলো CRT-এর চারপাশে ডিজাইন করা হয়েছিল, যা আংশগ্রহও এই কারণটি যে রিট্রো গেমগুলো পুরোনো CRT টেলিভিশনে ভালো দেখায়।
Play Station 2-এর কাস্টম সিলিকন লোড শেয়ার করত। Sony প্রথমে PS2-এর চিপগুলো মার্চ 1999 সালে দেখিয়েছিল। CPU ছিল Emotion Engine, একটি 128-বিট ডিজাইন যা Sony তৈরি করেছিল Toshiba-এর সাথে, আর গ্রাফিক্স একটি আলাদা চিপে যায় Graphics Synthesizer বলা। চূড়ান্ত কনসোলগুলোতে, দুটি প্রায় 295 MHz এবং 147 MHz চালিয়েছিল। Graphics Synthesizer কোনও জ্যামিতিক কাজ করেনি, তবুও। যখন একটি ত্রিভুজ এটি পৌঁছায়, তখন এটি ইতিমধ্যে ফ্রেমের মধ্যে রাখা হয়েছিল, আর চিপের জন্য কাজ ছিল শুধুমাত্র রঙ এবং টেক্সচার দিয়ে এটি পূরণ করা। জ্যামিতিক কাজগুলো পিছনে ঘটে যায় Emotion Engine-এ, দুটি ভেক্টর ইউনিটে। CPU VU0-এর জন্য অসাময়িক কাজ দিতে পারে, যেখানে VU1 মূলত স্ক্রিনে ত্রিভুজে রূপান্তরিত করার জন্য গেমের মডেলগুলোকে রূপান্তরিত করে। Sony এবং Toshiba-এর প্রকৌশলীরা বলেছিলেন যে একটি ভেক্টর ইউনিট প্রতি সেকেন্ডে 85 মিলিয়ন এই রূপান্তরগুলো ব্যবস্থাপন করতে পারে।
যদিও কোনও দুটি কনসোল একই ছিল না, অনেক প্রাথমিক 3D কনসোলগুলো সমানভাবে একাধিক চিপস জুড়ে গ্রাফিক লোড শেয়ার করত। আকর্ষণীয়ভাবে, Sony রিট্রো কনসোলের গ্রাফিক্স চিপসের জন্য GPU শব্দটি ব্যবহার করেছিল 1994 সালের Play Station-এর Toshiba নকশা করা গ্রাফিক্স চিপের জন্য। এটি NVIDIA-এর Ge Force 256-কে বিশ্বের প্রথম GPU হিসেবে বিপণন করার আগে পাঁচ বছর। কিন্তু আধুনিক GPU-এর কাজকর্তব্ধ পরিভাষা, একটি চিপ যা গেম দ্বারা লিখিত ছোট প্রোগ্রামগুলো চালায়, শুধুমাত্র Ge Force 3-এর সাথে 2001 সালের শুরুতে এসেছিল।
মূল Xbox এবং এর পরের সবকিছু...
রিট্রো কনসোলগুলো কীভাবে গ্রাফিক্স রেন্ডার করত আধুনিক GPU-এর আগে?
তারা Ricoh 2C02 এর মতো ফিক্সড-ফাংশন চিপস ব্যবহার করত, যা টাইল কলার আর্ট এবং লুকআপ টেবিল ব্যবহার করে প্রতি স্ক্যানলাইন গ্রাফিক্স রেন্ডার করত, বিনা কোনও প্রোগ্রামযোগ্য কোড চালিয়ে।
🇪🇸 Español
Gráficos de Consolas Retro: Chips de Función Fija vs GPUs Modernas
Los chips gráficos podían dibujar pero no calcular, hasta que llegó la Xbox. Los gráficos de consolas provenían de chips dedicados de función fija durante más de dos décadas, hasta que la primera Xbox hizo su aparición en 2001 con una GPU de PC por dentro. Aquellos de nosotros que jugamos en consolas tempranas como la NES habremos encontrado algunas curiosidades familiares con esos chips de función fija: Por ejemplo, cuando demasiados Goombas se alineaban en la misma fila en Super Mario Bros., algunos comenzaban a parpadear. Ese es el límite duro de ocho sprites por línea de escaneo de la NES; el chip descarta todo lo que va más allá de ocho, y el juego alterna cuáles se muestran.
En la NES, era la unidad de procesamiento de imagen Ricoh 2C02 la que renderizaba los gráficos del juego. Un chip bastante rudimentario, no podía ejecutar ningún código. En cambio, tomaba las imágenes de mosaicos del cartucho y un par de tablas de búsqueda de la memoria y las convertía en una señal de TV, línea de escaneo a la vez. Ese diseño — un generador de imágenes dedicado alimentado por la CPU — es la forma en que la mayoría de las consolas renderizaban sus gráficos desde finales de los años 70 hasta la década de 2000.
Cuando la primera Xbox de Microsoft salió en noviembre de 2001, no se parecía mucho a ninguna consola anterior. En cambio, estaba construida alrededor de un Intel Pentium III y un chip gráfico que NVIDIA hizo especialmente para ella, basado en el Ge Force 3. El Ge Force 3 solo había sido anunciado ese febrero, y era la primera GPU que permitía a los desarrolladores programar sus propios shaders de píxeles y vértices.
A diferencia de la NES, la anterior Atari 2600 hacía que la CPU también manejara los gráficos. Debido a que su adaptador de interfaz de televisión no tenía buffer de trama, el procesador tenía que proporcionar nuevos valores al chip para cada línea de escaneo dibujada por el haz. Apenas cinco años antes, en 1972, la Magnavox Odyssey no tenía procesador ni memoria, punto final, dibujando sus puntos y líneas con lógica discreta de diodos y transistores. Todas estas máquinas estaban diseñadas alrededor de un CRT, lo cual es parcialmente la razón por la cual los juegos retro se ven mejor en las viejas TVs CRT.
El silicio personalizado de la Play Station 2 compartía la carga de trabajo. Sony mostró los chips de la PS2 en marzo de 1999. La CPU era el Emotion Engine, un diseño de 128 bits que Sony construyó con Toshiba, y los gráficos iban a un chip separado llamado Graphics Synthesizer. En las consolas finales, ambos operaban a aproximadamente 295 MHz y 147 MHz. El Graphics Synthesizer no realizaba ningún trabajo de geometría, aunque. Para cuando un triángulo llegaba a él, ya había sido colocado dentro del marco, y lo único que el chip tenía que hacer era rellenarlo con color y textura. El trabajo de geometría ocurría de vuelta en el Emotion Engine, en dos unidades vectoriales. La CPU podía dar tareas ocasionales a VU0, mientras que VU1 principalmente ejecutaba las transformaciones 3D que convertían los modelos de un juego en triángulos en pantalla. Los ingenieros de Sony y Toshiba dijeron que una sola unidad vectorial podía manejar 85 millones de esas transformaciones por segundo.
Aunque ninguna consola era igual a otra, muchas consolas 3D tempranas compartían igualmente la carga gráfica entre múltiples chips. Curiosamente, Sony había usado el término GPU para referirse al chip gráfico de la Play Station de 1994, diseñado por Toshiba. Eso es cinco años antes de que NVIDIA comercializara el Ge Force 256 como la primera GPU del mundo. Pero la definición operativa de una GPU moderna, un chip que ejecuta pequeños programas escritos por el juego, solo llegó con el Ge Force 3 a principios de 2001.
La Xbox original y todo lo que vino después...
¿Cómo renderizaban los gráficos las consolas retro antes de las GPUs modernas?
Usaban chips de función fija como el Ricoh 2C02 de la NES, que renderizaba gráficos línea de escaneo por línea mediante imágenes de mosaicos y tablas de búsqueda, sin ejecutar código programable.
🇫🇷 Français
Graphismes des Consoles Rétro : Puces à Fonction Fixe vs GPU Modernes
Les puces graphiques pouvaient dessiner mais pas calculer, jusqu'à ce que la Xbox arrive. Les graphismes des consoles provenaient de puces dédiées à fonction fixe pendant plus de deux décennies, jusqu'à ce que la première Xbox fasse son apparition en 2001 avec une GPU de PC à l'intérieur. Ceux d'entre nous qui avons joué sur des consoles précoces comme la NES avons probablement rencontré quelques particularités familières avec ces puces à fonction fixe : par exemple, quand trop de Goombas se alignaient sur la même ligne dans Super Mario Bros., certains commençaient à clignoter. C'est la limite dure de huit sprites par ligne de balayage de la NES ; la puce ignore tout ce qui va au-delà de huit, et le jeu alterne lesquels sont affichés.
Dans la NES, c'était l'unité de traitement d'image Ricoh 2C02 qui rendait les graphismes du jeu. Une puce assez rudimentaire, elle ne pouvait exécuter aucun code. Au lieu de cela, elle prenait les œuvres d'art en tuiles du cartouche et un couple de tables de correspondance depuis la mémoire et les convertissait en un signal TV, ligne de balayage à la fois. Cet agencement — un générateur d'images dédié alimenté par l'unité centrale — est la manière dont la plupart des consoles rendaient leurs graphismes des années 1970 jusqu'aux années 2000.
Quand la première Xbox de Microsoft est sortie en novembre 2001, elle ne ressemblait pas beaucoup à aucune console précédente. Au lieu de cela, elle était construite autour d'un Intel Pentium III et d'une puce graphique que NVIDIA a spécialement conçue pour elle, basée sur le Ge Force 3. Le Ge Force 3 n'avait été annoncé que ce mois de février, et c'était la première GPU qui permettait aux développeurs de programmer leurs propres shaders de pixels et de sommets.
Contrairement à la NES, la précédente Atari 2600 faisait aussi que l'unité centrale gère les graphismes. Parce que son adaptateur d'interface télévisée n'avait pas de mémoire tampon d'image, le processeur devait fournir de nouvelles valeurs à la puce pour chaque ligne de balayage dessinée par le faisceau. Juste cinq ans plus tôt en 1972, la Magnavox Odyssey n'avait aucun processeur ou mémoire, point final, dessinant ses points et lignes avec une logique discrète de diodes et transistors. Toutes ces machines étaient conçues autour d'un CRT, ce qui est en partie pourquoi les jeux rétro ont l'air meilleurs sur les vieux téléviseurs CRT.
Le silicium personnalisé de la Play Station 2 partageait la charge de travail. Sony a montré les puces de la PS2 en mars 1999. L'unité centrale était le Emotion Engine, un design 128 bits que Sony a construit avec Toshiba, et les graphismes allaient à une puce séparée appelée Graphics Synthesizer. Dans les consoles finales, les deux tournaient à environ 295 MHz et 147 MHz. Le Graphics Synthesizer ne faisait aucun travail de géométrie, cependant. Quand un triangle lui parvenait, il avait déjà été placé dans le cadre, et tout ce que la puce avait à faire était de le remplir avec de la couleur et de la texture. Le travail de géométrie se passait de retour sur l'Emotion Engine, dans deux unités vectorielles. L'unité centrale pouvait donner des tâches occasionnelles à VU0, tandis que VU1 tournait principalement les transformations 3D qui transformaient les modèles d'un jeu en triangles à l'écran. Les ingénieurs de Sony et Toshiba ont déclaré qu'une seule unité vectorielle pouvait gérer 85 millions de ces transformations par seconde.
Bien que nulle deux consoles ne soient identiques, plusieurs des premières consoles 3D partageaient également la charge graphique entre plusieurs puces. Curieusement, Sony avait utilisé le terme GPU pour la puce graphique de la Play Station de 1994, conçue par Toshiba. C'est cinq ans avant que NVIDIA ne commercialise le Ge Force 256 comme la première GPU du monde. Mais la définition opérationnelle d'une GPU moderne, une puce qui exécute de petits programmes écrits par le jeu, n'est venue qu'avec le Ge Force 3 au début de 2001.
La Xbox originale et tout ce qui a suivi...
Comment les consoles rétro rendaient-elles les graphismes avant les GPU modernes ?
Ils utilisaient des puces à fonction fixe comme le Ricoh 2C02 de la NES, qui rendait les graphismes ligne de balayage par ligne à l'aide d'œuvres d'art en tuiles et de tables de correspondance, sans exécuter de code programmable.
🇮🇳 हिन्दी
रीट्रो कंसोल ग्राफ़िक्स: फ़िक्स्ड-फ़ंक्शन चिप्स vs आधुनिक GPUs
ग्राफ़िक चिप्स ड्रॉ कर सकते थे लेकिन नहीं कर सकते थे, जब तक Xbox ने आकर डाल दिया। कंसोल ग्राफ़िक्स दो दशक से अधिक समय तक विशेष रूप से निर्मित फिक्स्ड-फंक्शन चिप्स पर निर्भर थी, जब तक कि मूल Xbox ने 2001 में एक PC GPU के साथ दृश्यमान हो गई। हम में से लोग जो ईएसएन जैसे शुरुआती कंसोल पर खेलते थे, उन्हें इन फिक्स्ड-फंक्शन चिप्स के साथ कुछ परिचित अजीबियतें मिली होगी: उदाहरण के लिए, जब सुपर मैरियो ब्रदर्स में गूम्बा बहुत सारे एक ही पंक्ति में लगातार दिखाई दिए, तो उनमें से कुछ झपलाने लगे। यह NES के ग्राफ़िक चिप का आठ स्प्राइट प्रति स्कैनलाइन की कठोर सीमा है; चिप आठ से अधिक कुछ भी छोड़ देता है, और गेम किसे दिखाएगा इसका विकल्प बदलता है।
NES में, यह Ricoh 2C02 पिक्चर प्रोसेसिंग यूनिट थी जो गेम ग्राफ़िक्स रेंडर करती थी। एक काफी मूलभूत चिप, यह कोई कोड नहीं चला सकती थी। इसके बजाय, इसने कार्ट्रिज से टाइल आर्टवर्क और मेमोरी से कुछ लुकअप टेबल लेकर एक TV सिग्नल में बदल दिया, एक स्कैनलाइन के समय। इस ढ़ंचे — CPU द्वारा सप्लाई किए गए एक समर्पित चित्र उत्पादक — यही है जिस तरह अधिकांश कंसोल अपने ग्राफ़िक्स को 1970 के दशक के अंत से लेकर 2000 के दशक तक रेंडर करती थीं।
जब Microsoft की पहली Xbox नवंबर 2001 में लॉन्च हुई, तो यह किसी पहले कंसोल से बहुत अलग नहीं लग रही थी। इसके बजाय, इसे Intel Pentium III और NVIDIA द्वारा इसके लिए विशेष रूप से बनाया गया Ge Force 3 आधारित ग्राफ़िक चिप के चारों ओर निर्मित किया गया था। Ge Force 3 को उसी फरवरही घोषित किया गया था, और यह पहली GPU थी जो डेवलपर्स को उनके स्वयं के पिक्सेल और वर्टेक्स शेडर्स प्रोग्राम करने देती थी।
NES के अलग-थे, आधे में Atari 2600 ने ग्राफ़िक्स के लिए CPU का भी उपयोग किया था। चूंकि इसके Television Interface Adaptor में कोई फ्रेम बफर नहीं था, इसलिए प्रोसेसर को हर स्कैनलाइन के लिए नए मान चिप को देने के लिए प्रदान करना पड़ता था। बस पाँच साल पहले 1972 में, Magnavox Odyssey कोई प्रोसेसर या मेमोरी नहीं थी, बिना किसी दोलन, अपने बिंदुओं और रेखाओं को डिस्क्रीट डायओड-ट्रांजिस्टर लॉजिक के साथ बनाती थी। इन सभी मशीनों का डिज़ाइन CRT के चारों ओर था, जो एक आंश में इसलिए है कि रीट्रो गेम्स पुराने CRT टीवी पर बेहतर दिखते हैं।
Play Station 2 का कस्टम सिलिकॉन भार को साझा करता था। Sony ने PS2 के चिप्स को मार्च 1999 में दिखाया था। CPU Emotion Engine था, एक 128-बिट डिज़ाइन जिसे Sony ने Toshiba के साथ बनाया था, और ग्राफ़िक्स एक अलग चिप Graphics Synthesizer को भेजा गया था। अंतिम कंसोल में, दोनों लगभग 295 MHz और 147 MHz पर चलाते थे। Graphics Synthesizer कोई भी ज्यामितीय काम नहीं करता था, हालाँकि। जब एक त्रिकोण उसे पहुँचता है, तो वह पहले से ही फ्रेम के भीतर रखा होता है, और चिप को करने के लिए कुछ नहीं बस रंग और टेक्सचर से भरना होता है। ज्यामितीय काम वापस Emotion Engine में होता था, दो वेक्टर यूनिट में। CPU VU0 को अलग-अलग काम दे सकता है, जबकि VU1 अक्सर स्क्रीन पर त्रिकोणों में बदलने वाले 3D रूपांतरण चलाता है। Sony और Toshiba के इंजीनियर्स ने कहा था कि एक वेक्टर यूनिट प्रति सेकंड 85 मिलियन ऐसे रूपांतरण संभाल सकता है।
हालाँकि कोई दो कंसोल एक जैसी नहीं थीं, कई शुरुआती 3D कंसोल भी ग्राफ़िक लोड को कई चिप्स पर साझा करती थीं। दिलचस्प बात यह है कि Sony ने 1994 के Play Station के Toshiba द्वारा डिज़ाइन किए गए ग्राफ़िक चिप के लिए GPU शब्द का उपयोग किया था। यह NVIDIA के Ge Force 256 को दुनिया की पहली GPU के रूप में विपणन करने से पाँच साल पहले था। लेकिन आधुनिक GPU की परिभाषा, एक ऐसा चिप जो गेम द्वारा लिखे छोटे प्रोग्राम चलाता है, यही परिभाषा 2001 के शुरुआत में Ge Force 3 के साथ ही मिली।
मूल Xbox और उसके बाद कुछ भी...
रीट्रो कंसोल आधुनिक GPUs से पहले ग्राफ़िक्स कैसे रेंडर करती थीं?
उन्होंने Ricoh 2C02 जैसे फिक्स्ड-फंक्शन चिप्स का उपयोग किया, जो टाइल आर्टवर्क और लुकअप टेबल के उपयोग से प्रति स्कैनलाइन ग्राफ़िक्स रेंडर करता था, बिना किसी प्रोग्रामेबल कोड चलाए।
🇯🇵 日本語
レトロコンソールのグラフィックス:固定機能チップ vs モダンGPU
グラフィックチップは描画はできたが計算はできなかった。Xboxが登場するまで、コンソールのグラフィックスは20年以上専用の固定機能チップから提供されていた。それは2001年に初代XboxがPC用GPUを内蔵して登場するまでである。NESのような初期のコンソールで遊んだ私たちの多くは、これらの固定機能チップによってもたらされるいくつかのおなじみの奇癖に遭遇したことであろう。例えば、スーパーマリオブラザーズでGoombaが同じ列に並びすぎると、その中にはちらつき始めるものもある。これはNESのグ
🇧🇷 Português
Gráficos de Consoles Retrô: Chips de Função Fixa vs GPUs Modernas
Os chips gráficos podiam desenhar mas não calcular, até que a Xbox chegou. Os gráficos de consoles vinham de chips dedicados de função fixa por mais de duas décadas, até que a primeira Xbox estourou na cena em 2001 com uma GPU de PC por dentro. Aqueles de nós que jogamos em consoles precoces como a NES provavelmente encontramos algumas particularidades familiares com esses chips de função fixa: Por exemplo, quando muitos Goombas se alinhavam na mesma linha em Super Mario Bros., alguns começavam a piscar. Esse é o limite rígido de oito sprites por linha de varredura da NES; o chip descarta tudo além de oito, e o jogo alterna quais são mostrados.
Na NES, era a unidade de processamento de imagem Ricoh 2C02 que renderizava os gráficos do jogo. Um chip bastante rudimentar, ele não podia executar nenhum código. Em vez disso, ele pegava as obras de arte em azulejos do cartucho e um par de tabelas de pesquisa da memória e as transformava em um sinal de TV, uma linha de varredura de cada vez. Esse arranjo — um gerador de imagens dedicado alimentado pela CPU — é como a maioria das consoles renderizava seus gráficos desde o final dos anos 1970 até os anos 2000.
Quando a primeira Xbox da Microsoft saiu em novembro de 2001, ela não se parecia muito com nenhuma console anterior. Em vez disso, ela foi construída em torno de um Intel Pentium III e um chip gráfico que a NVIDIA fez especialmente para ela, baseado no Ge Force 3. O Ge Force 3 havia sido anunciado apenas naquele fevereiro, e era a primeira GPU que permitia que os desenvolvedores programassem seus próprios shaders de pixels e vértices.
Ao contrário da NES, a anterior Atari 2600 fazia com que a CPU também manipulasse os gráficos. Porque seu adaptador de interface de TV não tinha buffer de quadro, o processador precisava fornecer novos valores ao chip para cada linha de varredura desenhada pelo feixe. Apenas cinco anos antes, em 1972, a Magnavox Odyssey não tinha processador ou memória, ponto final, desenhando seus pontos e linhas com lógica discreta de diodo e transistor. Todas essas máquinas foram projetadas em torno de um CRT, o que é parcialmente por que os jogos retrô parecem melhores em velhas TVs CRT.
O silício personalizado da Play Station 2 compartilhava a carga de trabalho. Sony mostrou os chips da PS2 em março de 1999. A CPU era o Emotion Engine, um projeto de 128 bits que Sony construiu com Toshiba, e os gráficos iam para um chip separado chamado Graphics Synthesizer. Nos consoles finais, os dois operavam a cerca de 295 MHz e 147 MHz. O Graphics Synthesizer não realizava nenhum trabalho de geometria, porém. Quando um triângulo chegava a ele, já tinha sido colocado dentro do quadro, e tudo o que o chip precisava fazer era preenchê-lo com cor e textura. O trabalho de geometria acontecia de volta no Emotion Engine, em duas unidades vetoriais. A CPU podia dar tarefas ocasionais a VU0, enquanto VU1 principalmente rodava as transformações 3D que transformavam os modelos de um jogo em triângulos na tela. Os engenheiros de Sony e Toshiba disseram que uma única unidade vetorial podia gerenciar 85 milhões dessas transformações por segundo.
Embora nenhuma duas consoles fossem iguais, muitas das primeiras consoles 3D também compartilhavam a carga gráfica entre múltiplos chips. Interessantemente, Sony havia usado o termo GPU para a GPU da Play Station de 1994, projetada por Toshiba. Isso é cinco anos antes de a NVIDIA comercializar o Ge Force 256 como a primeira GPU do mundo. Mas a definição operacional de uma GPU moderna, um chip que executa pequenos programas escritos pelo jogo, só veio com o Ge Force 3 no início de 2001.
A Xbox original e tudo depois disso...
Como as consoles retrô renderizavam gráficos antes das GPUs modernas?
Eles usavam chips de função fixa como o Ricoh 2C02 da NES, que renderizava gráficos linha de varredura por linha usando arte em azulejos e tabelas de pesquisa, sem executar código programável.
🇷🇺 Русский
Графика ретро-консолей: фикс-функциональные чипы vs современные GPU
Графические чипы могли рисовать, но не вычислять, пока не появилась Xbox. Графика консолей шла из специализированных фикс-функциональных чипов более двух десятилетий, пока оригинальная Xbox не появилась на сцене в 2001 году с видеокартой внутри. Те из нас, кто играл на ранних консолях, таких как NES, наверняка столкнулись с некоторыми знакомыми странностями этих фикс-функциональных чипов: например, когда слишком много Goombas выстраивалось в один ряд в Super Mario Bros., некоторые из них начали мерцать. Это жёсткое ограничение восьми спрайтов на строку развёртки в NES; чип отбрасывает всё, что больше восьми, и игра чередует, какие именно отображаются.
В NES именно блок обработки изображений Ricoh 2C02 отвечал за рендеринг графики игры. Довольно простой чип, он не мог выполнять никакой код. Вместо этого он взял художественские материалы из планшета и пару таблиц поиска из памяти и превратил их в телевизионный сигнал, по строке развёртки. Эта схема — выделенный генератор изображений, питаемый процессором — является тем способом, как большинство консолей рендерили свою графику с конца 1970-х до 2000-х годов.
Когда первая Xbox от Microsoft вышла в ноябре 2001 года, она мало походила на любую консоль до неё. Вместо этого, она была построена вокруг Intel Pentium III и графического чипа, который NVIDIA сделала специально для неё, основанного на Ge Force 3. Ge Force 3 была объявлена только в том феврале, и это была первая видеокарта, которая позволяла разработчикам программировать свои собственные пиксельные и вершинные шейдеры.
В отличие от NES, более ранняя Atari 2600 заставляла процессор также обрабатывать графику. Поскольку её телевизионный интерфейсный адаптер не имел буфера кадра, процессору приходилось подавать новые значения на чип для каждой строки развёртки, нарисованной лучом. Ещё ровно пять лет назад, в 1972 году, Magnavox Odyssey не имела процессора или памяти, точка. Она рисовала свои точки и линии с помощью дискретной диодно-транзисторной логики. Все эти машины были спроектированы вокруг CRT, что частично объясняет, почему ретро-игры выглядят лучше на старых CRT-телевизорах.
Специализированный процессор Play Station 2 разделывал нагрузку. Sony продемонстрировала чипы PS2 в марте 1999 года. Процессором был Emotion Engine, 128-битная разработка, которую Sony создала с Toshiba, а графика шла на отдельный чип под названием Graphics Synthesizer. В финальных консолях оба работали на частоте около 295 МГц и 147 МГц. Graphics Synthesizer не занимался никакой геометрической работой, однако. Когда треугольник достигал его, он уже был помещён внутри кадра, и всё, что чипу нужно было сделать, это заполнить его цветом и текстурой. Геометрическая работа происходила обратно на Emotion Engine, в двух векторных блоках. Процессор мог дать VU0 небольшие задачи, в то время как VU1 в основном выполнял 3D-трансформации, которые превращали модели игры в треугольники на экране. Инженеры Sony и Toshiba заявили, что один векторный блок может обрабатывать 85 миллионов таких трансформаций в секунду.
Хотя ни две консоли не были одинаковыми, многие ранние 3D-консоли также разделяли графическую нагрузку между несколькими чипами. Интересно, что Sony использовала термин GPU для графического чипа 1994 года Play Station, спроектированного Toshiba. Это на пять лет раньше, когда NVIDIA начала рекламировать Ge Force 256 как первую видеокарту в мире. Но оперативное определение современной видеокарты, чипа, который выполняет небольшие программы, написанные игрой, появилось только с Ge Force 3 в начале 2001 года.
Оригинальная Xbox и всё, что после неё...
Как ретро-консоли рендерили графику до появления современных видеокарт?
Они использовали фикс-функциональные чипы, такие как Ricoh 2C02 в NES, которые рендерили графику по строкам развёртки с использованием художественных материалов и таблиц поиска, без выполнения программируемого кода.
🇨🇳 简体中文
复古主机图形:固定功能芯片 vs 现代 GPU
图形芯片能够绘制但不能计算,直到 Xbox 到来。这款主机的图形来自于专门定制的固定功能芯片,持续了超过二十年之久,直到 2001 年原版 Xbox 上市,它内部配备了一颗 PC 显卡 GPU。我们这些在早期主机如 NES 上玩游戏的人,可能已经遇到过这些固定功能芯片带来的一些熟悉问题:例如,当太多的哥布林怪排成一排出现在马里奥兄弟中时,其中一些怪物就会开始闪烁。这就是 NES 图形芯片的硬件限制——每条扫描线最多只能显示八个精灵;超过八个的部分会被芯片丢弃,游戏交替显示其中的一部分。
在 NES 中,正是 Ricoh 2C02 图像处理单元负责渲染游戏图形。这颗相当基础的芯片无法运行任何代码。相反,它从卡带中读取图块艺术资源和内存中的查找表,并逐条扫描线将它们转换为电视信号。这种架构——由 CPU 提供支持的专用图像生成器——正是大多数主机从 20 世纪 70 年代末一直延续到 21 世纪初的图形渲染方式。
当微软第一款 Xbox 于 2001 年 11 月上市时,它与之前任何主机都不太相似。它采用了英特尔奔腾 III 处理器和 NVIDIA 为其专门定制的基于 Ge Force 3 的图形芯片。Ge Force 3 仅在那个二月份刚刚宣布,而它也是第一颗允许开发者编写自己的像素着色器和顶点着色器的 GPU。
与 NES 不同,更早的雅达利 2600 将图形渲染也交给了 CPU。由于它的电视接口适配器没有帧缓冲区,处理器必须为每一条扫描线都提供新的数值给芯片。就在五年前的 1972 年,Magnavox Odyssey 根本没有处理器或内存,完全依靠离散的二极管-晶体管逻辑来绘制点和线。所有这些机器都是围绕 CRT 显示器设计的,这也是部分原因使得复古游戏在旧的 CRT 电视上看起来更好。
Play Station 2 的定制硅芯片分担了图形负担。索尼在 1999 年 3 月展示了 PS2 的芯片。CPU 是由索尼与东芝合作开发的 128 位设计 Emotion Engine,图形则通过名为 Graphics Synthesizer 的独立芯片处理。在最终的主机中,这两颗芯片的频率分别为约 295 MHz 和 147 MHz。Graphics Synthesizer 并不处理任何几何工作。当一个三角形到达它那时,它已经被放置在帧内,芯片需要做的只是用颜色和纹理填充它。几何工作是在 Emotion Engine 的两个向量单元中完成的。CPU 可以交给 VU0 一些零星任务,而 VU1 则主要运行将游戏模型转换为屏幕上三角形的 3D 变换。索尼和东芝的工程师表示,单个向量单元每秒可以处理 8500 万次这样的变换。
虽然没有两个主机完全相同,但许多早期的 3D 主机同样将图形负载分布在多个芯片上。有趣的是,索尼曾在 1994 年的 Play Station 中使用 GPU 一词来描述由东芝设计的图形芯片。这要早于 NVIDIA 将 Ge Force 256 市场化为世界上第一颗 GPU 的五年。但现代 GPU 的实际定义——即能够运行由游戏编写的小程序的芯片——直到 2001 年初的 Ge Force 3 才真正确立。
原版 Xbox 及之后的所有主机……
主机如何在现代 GPU 之前渲染图形?
它们使用固定功能芯片,如 NES 的 Ricoh 2C02,通过图块艺术和查找表逐条扫描线渲染图形,不运行可编程代码。