Monday, May 8, 2017

How powerful is the Wii U

nintendo trash

The Wii U has been regarded as one of the least powerful consoles of 2013. Outperformed by its counterparts, the Xbox 360 and PS3 (Later Xbox One and PS$, after their 2013 release), the Wii U really had no place in the market, with it's awkward controller concept, and lack of portability (Which if it were portable, it would have sold a lot better). But how powerful is the Wii U, and what makes it "one of the least powerful consoles"? 

The Wii U is powered by an SoC (System on a Chip). In it contains 2 GB RAM (1 GB dedicated to system processes, 1 GB usable for games), as well as a graphics chip, and a processor chip. 

The processor chip, dubbed Espresso, packs three cores, and is based on the IBM PowerPC 750 series chips, the same PowerPC CPU in the PowerMac G3 from 1999. Except the PowerMac G3 only had one PowerPC core, where as the Wii U has three. One could argue that developers could take advantage of these three cores to optimize games so they run faster. However, the individual cores are extremely slow, so slow that it would make Core 2 and even Pentium NetBurst look like next-generation hardware. To get an idea of how "powerful" a NetBurst Pentium 4 is, here's a video of the Pentium 4 running Battlefield 1.

However, the Wii U's saving grace, the one thing that prevents it from fading into obscurity and dealing a critical blow to Nintendo, is the graphics chip. The graphics chip, dubbed Latte, packs an ATI GX1, the same GX1 in the original Wii and the Gamecube. Not very impressive, but it contains another GPU: The GX2. Unlike the GX1, the GX2 is based on "modern" ATI/AMD architecture. While it's unknown what GPU it's based on, rumors say it's placed between the Radeon HD 4600 series, and the Radeon HD 4700 Series.

Because of the power of Nintendo + ATI's GX2 chip, developers have been able to port many third-party titles, such as Black Ops 2, WATCH_DOGS, Minecraft, etc over to the Wii U. However, out of all the other factors that brought down the Wii U, the two main things that killed it were the extremely slow PowerPC cores and 1GB usable RAM, and the release of the Nintendo Switch, which features a modified Tegra X1 chip (4 GB RAM, GPU similar to GT 920MX, 4x Cortex A57 primary, 4x Cortex A53 secondary).

Overall, the Wii U isn't the fastest system, but it is faster than most people think it is.

Citations:

"Wii U Tech Specs" IGN, Ziff Davis LLC. 28 Feb. 2014. http://www.ign.com/wikis/wii-u/Wii_U_Tech_Specs

"Nvidia Tegra X1" Specout, Graphiq Inc. http://system-on-a-chip.specout.com/l/1165/Nvidia-Tegra-X1

[Edited] Green Ham Gaming. "How Powerful is the Wii U" 30 Apr, 2017 https://www.youtube.com/watch?v=JPqWqbjOIJc


Monday, April 24, 2017

Why the Geforce 256 is a cool graphics card.

Image result for nvidia nv10 gpu
Geforce 256, circa 1999. Picture by Pete Mason,
http://hexus.net/tech/news/graphics/28468-nvidia-tsmc
-ship-billionth-geforce-gpu/
ur pc is bad

The year is 1999. 3d-accelerated graphics cards are all the rage. Everywhere you looked, there would be a new graphics card listing, offering "fluid 3d motion with support for the new and advanced DirectX 6 API". But games still required a fast CPU to do most of the in-game visual effects such as Transform & Lighting. nVidia was about to change that. October, 1999, nVidia releases the GeForce 256. Unlike big name graphics cards, like the 3dfx Voodoo lineup, the GeForce 256 renders most of the in-game visual effects, taking a lot of work off the CPU, making it the world's first "GPU". And it does this by integrating the Transform & Lighting engine with the graphics card. This meant that you could pair the 256 with a low-budget CPU, like the Celeron processors, and get better performance than a graphics card with no dedicated T&L engine paired with a high-end Pentium processor. If that wasn't revolutionary enough, nVidia also released a 256 with DDR memory, making it several times faster than other competing graphics cards. Hardware T&L wasn't a big deal during the 90's, with only a few games supporting it. But today, every 3d game you see takes advantage of GPU-side T&L. The GeForce 256 did so well that it received driver support up until 2005, the final drivers offering support for DirectX 9 and OpenGL 1.5. If not for nVidia, and their revolutionary GeForce 256 card, just how different would pc games and hardware be? 

Friday, March 3, 2017

Read this if you have a Chromebook.

my chromebook is faster than your $10000 pc

So when I develop, I use an application called Code::Blocks which is an IDE (Integrated Development Environment) for Windows, OS X, or Linux based machines. But not everyone reading this blog are using a Windows, OS X, or Linux machine. They might be using Chromebooks, iPhones, Android devices, etc. If that's the case for you, then you're in luck. There is a website called Remote Interview that has an online C++ IDE. It works almost as well as Code::Blocks.

So to set it up, click on the option that says "NEW PAD", as shown below:


Next, click on the area that says "C#" and change it to "C++".


Next, click on the button next to autocomplete and click it once.


Now, you should have a working online development suite. And even better, you have access to multiple languages like C#, Java, Python, etc.

That;s all I have for now.

Thursday, March 2, 2017

Getting good at: C++ | #10 - enumerated constants, integers and more typedef

10 - typedef int our; our number = 1;

     Hows it goin bros, coat hanger here. Today, we're going to use typedef. As I said in the last post, typedef is used to substitute keywords in integers. "How is this useful?", you ask. To show you why, I will have to go over another integer type, the unsigned integer.

     Now, an unsigned integer is basically a whole number integer, meaning it cannot store a negative value. Along with that, there is the long integer and the short integer. A long integer can store values from -2 billion to 2 billion, and a short integer can store values from -32768 to 32767. All of the possible integer types can be found here. Now, if you were writing a program that uses a lot of unsigned long integers, you would probably get tired of writing unsigned long number = 32000;, and that's where ya boi typedef comes in. So instead of typing unsigned long number 32000;, you can just type something like ulo number 32000;

     Last post, I talked about constants, read-only variables. Now, I'm going to talk about enumerated constants. This is basically a way to store multiple constants on one line. To declare it, you have to write something like this: enum name { N=1, A=3, M=5, E=8 };. If you don't set the variables to anything, then the beginning variable is set to zero, and the variable to the right of it is the left + 1.

That's all I have for this post. 

Wednesday, February 15, 2017

Getting good at: C++ | #9 - Constants and typedef

#9 - typedef long post

What's goin on everyone, this is FitMC. Today, we're going to learn about constants. Constants are essentially read-only variables, meaning that once you define them, you can't change them later in the program without modifying the value in the constant. You'll see what I mean later on.

There are a couple ways you can define a constant. 

1. Type #define CONSTANTNAME 1, where CONSTANTNAME is the name of your constant, and 1 is the value. You do not have to capitalize your constant name when defining it like this, but I recommend that you do for the sake of readability.

2. In any function, type const int net = 100;. The constant doesn't always have to be an integer. For instance, something like this will work: 
const char when_i_say_go[] ={'b','e','r','e','a','d','y','t','o','t','h','r','o','w'};

^This is not on a different line. It should look something like this:

This may look confusing. You don't have to know this yet, but keep it in mind. 


Now, we're going to look at a statement called typedef. This statement allows you to substitute keywords like int, char, float, double, etc for other words. For example, you could write something like this:

typedef int i;

The int keyword is being substituted by the letter 'i', and everywhere else in the program you can use the letter 'i' to fill in for the keyword int. You don't have to use a single letter to fill in for a keyword. If you really want to, you could write something like this:

You may be wondering why this is useful. In the next post, you'll see why. That's all I have for now. Until then...