Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Nvidia Shield Tablet launches

QuizzicalQuizzical Member LegendaryPosts: 25,355

Unfortunately, using the Shield Tablet as an actual shield will probably void the warranty.

-----

Basically, Nvidia is betting that people will care about GPU performance in an Android tablet.  The main chip is the new Tegra K1.  Paired with four Cortex A15 cores, Nvidia offers a single Kepler SMX.  Yes, the same Kepler as in the GeForce 600 and 700 series cards.

It supports the latest OpenGL 4.4, DirectX 12, and any other APIs that one may reasonably care about.  Note that I'm excluding Mantle as an API that one may reasonably care about; I'm inclined to exclude CUDA as well, though the Tegra K1 does support CUDA.  Not that anyone should care.

This makes it the first modern GPU in an Android tablet.  As I see it, unified shaders are the mark of the modern era in GPUs.  Before that time, there were only two programmable shader stages:  vertex shaders and pixel/fragment shaders.  The shader stages had very different needs.  Vertex shaders typically processed geometry and needed high precision to avoid glaring holes or flickering, but were run fewer times.  Pixel/fragment shaders tend to process color data, which tends to need far less precision as your final output is red, green, and blue values that will rarely have more than 8-bits of precision, but they have to run each frame for every pixel that you want to draw.

GPU makers dealt with this by having different hardware for different types of shaders.  The arrival of DirectX 10 in early 2007 brought geometry shaders, an additional programmable shader stage.  Two more programmable shader stages for tessellation were supposedly to be added then as well, though they ended up being delayed until DirectX 11 in 2009.

Furthermore, some game developers moved to deferred rendering, which made it impossible to use both types of shaders simultaneously.  The vertex shaders all had to complete to compute the geometry before any pixel/fragment shaders had anything to do.

The solution was unified shaders:  all shaders would be capable of processing everything that any stage could ask for, and all shaders could thus handle whatever shader stage was needed.  Thus, if you wanted all of your shaders to be vertex shaders one moment and all to be pixel/fragment shaders the next, they could all be busy and do what you need.  In desktop parts, Nvidia made this transition in late 2006, and ATI did so in early 2007.

Sound like ancient history?  Well, mobile GPU vendors (Qualcomm, Imagination, ARM) generally still haven't made that transition.  That's why they only support OpenGL ES, which lacks geometry shaders and the tessellation stages, and not the full OpenGL.  If they mention support DirectX, it likely involves the whole "feature level" nonsense that translates to "Microsoft will let us call it DirectX 11, but it's really only 9.0c".  One could perhaps support the full OpenGL, but four programmable shader stages in which nearly all of your shaders have to sit idle is a recipe for embarrassingly poor performance if you're using the modern API properly.

AMD has already brought the latest GPU architectures to Windows tablets, but not Android--or at least not yet, as AMD is working on ARM chips.  Now Nvidia is bringing the latest GPU architectures to Android.

Some would argue that tablet power consumption needs to be so low that you can't run high end graphics on them, anyway.  But that has the situation exactly backwards:  tablets have so little power available that using it as efficiently as possible is vital.  One critical way to do this is to offload GPU-friendly work to the GPU as much as possible.  Archaic APIs and GPU architectures greatly reduce your ability to do this, and running GPU-friendly computations on a CPU is not a recipe for energy efficiency.

So what about the tablet itself?  The specs don't disappoint:  it's an 8" tablet with a 1920x1200 IPS monitor, the aforementioned Tegra K1 SoC, and a $300 price tag.  The controller ($60) and stand ($40) come separately to keep the base price tag down, and there's a 32 GB option with added LTE support for an additional $100.  2 GB of memory isn't much by desktop standards, but it's plenty for an Android device that won't have the OS plus random vendor-installed bloatware eating up most of 2 GB before you get to software that you actually care about.

The downside of higher performance is that it tends to mean higher power consumption.  That's an area that Nvidia has traditionally struggled with--and I'm referring to previous generations of Tegra here, not the Fermi debacle.  I don't know how well Kepler reduces power at idle, but I'd bet that it's not nearly as well as weaker mobile GPUs that are built for low power consumption, not for high performance.  It's surely not a coincidence that Tegra K1 is a tablet chip, not a cell phone chip.

So it really comes down to what you want in a tablet.  If long battery life is your priority, I'd be surprised if the Shield Tablet is anything better than mediocre here.  But if you want an Android tablet that you can play demanding games on for a few hours at a time, this is far and away the best option today and will probably be the best option on the market for quite some time.

The caveat is, of course, what games?  It's not like there are a lot of graphically demanding games for Android; there previously wasn't any hardware that would be able to run them, anyway.  But if the hardware is there, then maybe games will follow--and maybe more PC games will be ported to Android now that there is Android hardware that can handle them.

Comments

  • HulluckHulluck Member UncommonPosts: 839
    I wish that it was a bit bigger and some better features. Really torn at this point on tablets. Shield Tab could have had better / more features and been able to compete with the other tablets. The shield 2 could fill the compact size market when they update it with a k1 if they do.  I went to Verizon the other day to mess around with the Z2 and Note Pro 12.2 lte.   Snapdragon 801 and 800. I realize the difference in all 3 chips. There's really not much else out though. I think that the note pro is a bit to pricey for my needs and how I will use it but the features are really nice. The Z2 is a good middle ground.  Then this. bigger screen better resolution would have sold me on it 100%. Even if it cost the same as the Z2.
  • ThumbtackJThumbtackJ Member UncommonPosts: 669
    Originally posted by Quizzical

    The caveat is, of course, what games?  It's not like there are a lot of graphically demanding games for Android; there previously wasn't any hardware that would be able to run them, anyway.  But if the hardware is there, then maybe games will follow--and maybe more PC games will be ported to Android now that there is Android hardware that can handle them.

    This was my initial thought as well. Now, Android uses the Linux kernel, correct? If that's the case, would Linux versions of games be compatible with Android? If they are (or could be made so) then having the Steam For Linux client available on Android would make this much more enticing, IMO. 

     

    The price tag of $300 sounds decent to me. Obviously I don't know much about tablets and their usual costs, but $300 is what the iPad mini 16GB costs currently, and I assume that has less powerful hardware. 

     

    Anyways, awesome write up as usual Quizzical! :D

  • AmjocoAmjoco Member UncommonPosts: 4,860

    Thanks for the post OP! I didn't even know this was coming out.

    You are still the Rain Man of the computer world in my book!

    Death is nothing to us, since when we are, Death has not come, and when death has come, we are not.

  • QuizzicalQuizzical Member LegendaryPosts: 25,355
    Originally posted by ThumbtackJ
    Originally posted by Quizzical

    The caveat is, of course, what games?  It's not like there are a lot of graphically demanding games for Android; there previously wasn't any hardware that would be able to run them, anyway.  But if the hardware is there, then maybe games will follow--and maybe more PC games will be ported to Android now that there is Android hardware that can handle them.

    This was my initial thought as well. Now, Android uses the Linux kernel, correct? If that's the case, would Linux versions of games be compatible with Android? If they are (or could be made so) then having the Steam For Linux client available on Android would make this much more enticing, IMO. 

     

    The price tag of $300 sounds decent to me. Obviously I don't know much about tablets and their usual costs, but $300 is what the iPad mini 16GB costs currently, and I assume that has less powerful hardware. 

     

    Anyways, awesome write up as usual Quizzical! :D

    Using Microsoft tools that are Windows-only certainly shouldn't be a barrier between porting something from Linux to Android, whether DirectX, C#, Visual Studio, or whatever.  But even apart from that, porting code from one OS to another isn't necessarily a trivial matter.

    The game I'm working on uses OpenGL and Java, so it should theoretically run on the Nvidia Shield Tablet without modifications apart from grabbing an Android file from JOGL instead of a Windows one.  It's probably got enough power to run the game decently, too.

    But "should theoretically run" and "actually does run" are two very different things.  Do I really trust Google's Java interpreter for Android to invariably work exactly the same as Oracle's does for Windows?  In a word:  no.  Hence the slogan:  write once, debug everywhere.

  • RidelynnRidelynn Member EpicPosts: 7,383

    I'm not excited about tablet hardware in the least.

    I'm quite interested in Steam In-Home Streaming and other streaming technology - that more or less makes your local hardware irreverent (but puts the burden on your network connection). Shield does support this with their own version, I think their marketing folks have called it Gamestream. But that isn't a case for packing universal shaders on your tablet, that's a case for packing WiFi A/C MIMO (and it does, at 2x2)

    The caveat is a big one - what games indeed. This being the only vendor and SKU in a huge, diverse lineup of Android devices, I think that's likely to stay the case for a very long time. We will probably see a very small, select batch of "AAA"-esque titles that showcase what the Tegra can do, those will all be funded by nVidia marketing, and not compatible with any other device - so they will have terrible sales for their developers and won't be enough to drive Shield hardware adoption.

  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by Quizzical
    But "should theoretically run" and "actually does run" are two very different things.  Do I really trust Google's Java interpreter for Android to invariably work exactly the same as Oracle's does for Windows?

    If you believe Oracle, and the courts, it does.

    Different story though, just a derail about a semi-related topic.

  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by ThumbtackJ
    This was my initial thought as well. Now, Android uses the Linux kernel, correct? If that's the case, would Linux versions of games be compatible with Android?

    Android is based on a Linux kernel, but it has it's own set of libraries APIs to handle things like UI, graphics, user permissions, security, files, etc. A lot of those APIs are Java-esque (they got sued by Oracle for the similarity and their lack of licensing, which was the reference for my previous post), so Android apps are a lot like Java programs.

    All the code is open source, you are free to download and modify it as you see fit (within the bounds of the open source license), and a lot (nearly all) of vendors do this to customize Android to their specific tablets. Some vendors go so farther than others as far as what restrictions you have inside of Andriod (some only allow specific App stores, some don't ever update their software, etc).

    So, no, standard "linux" stuff won't run on it, even if it's compiled for ARM, because your going to be lacking a lot of libraries that you need to make it work. You could probably do some hacking and get it to work, but by the time you have, you've pretty much just converted the program into an Android program or you've mangled your tablet so much it's more or less running a Linux ARM distro and not Android.

    The reverse is also more or less true - just because Andriod apps are more or less (and I say this very loosely) Java-based doesn't mean you can run Android programs on Java (although Bluestacks does exist..., that's an Andriod emulator and not a Java JIT)

  • VrikaVrika Member LegendaryPosts: 7,888
    Originally posted by Quizzical

    The caveat is, of course, what games?  It's not like there are a lot of graphically demanding games for Android; there previously wasn't any hardware that would be able to run them, anyway.  But if the hardware is there, then maybe games will follow--and maybe more PC games will be ported to Android now that there is Android hardware that can handle them.

    I think if someone is buying a tablet now, the Shield tablet could be good investment for the future. Graphic performance of Android devices, and the quality of graphic in many Android games, is clearly increasing. Even if its performance is unneeded right now, this tablet could have longer lifespan before you need to upgrade compared to other tablets.

    I hope we'll soon see reviews about how long the battery lasts and how hot the tablet runs.

     
  • QuizzicalQuizzical Member LegendaryPosts: 25,355
    Originally posted by Ridelynn

    The caveat is a big one - what games indeed. This being the only vendor and SKU in a huge, diverse lineup of Android devices, I think that's likely to stay the case for a very long time. We will probably see a very small, select batch of "AAA"-esque titles that showcase what the Tegra can do, those will all be funded by nVidia marketing, and not compatible with any other device - so they will have terrible sales for their developers and won't be enough to drive Shield hardware adoption.

    First, the Nvidia Shield Tablet is not going to be the only tablet capable of running a higher tier of demanding games.  Any tablet based on the Tegra K1 and its successors will be similarly capable.  Any Android tablet running the ARM chip with GCN graphics that AMD is working on will probably be similarly capable.  Imagination--traditionally a major mobile graphics vendor--might be interested in joining that party, too, with their own modern graphics architecture.

    Yes, if only one tablet can run modern graphics, there isn't going to be many games for it.  But what if several can?  What if 10% of the market can?  How about 30% of the market?  What if it's 10% of the market, but 30% of the market from people who really want to play demanding tablet games?

    What I think will happen is that some relatively undemanding games built originally for PC/Mac/Linux with low system requirements will be ported to Android.  If you've already got all of the artwork and sound done, you're a long way toward having a completed game.  We've already seen a little bit of that, e.g., Vendetta Online.  As tablets become more capable, I think we'll see a lot more of it.

  • HulluckHulluck Member UncommonPosts: 839
    Originally posted by Vrika
    Originally posted by Quizzical

    The caveat is, of course, what games?  It's not like there are a lot of graphically demanding games for Android; there previously wasn't any hardware that would be able to run them, anyway.  But if the hardware is there, then maybe games will follow--and maybe more PC games will be ported to Android now that there is Android hardware that can handle them.

    I think if someone is buying a tablet now, the Shield tablet could be good investment for the future. Graphic performance of Android devices, and the quality of graphic in many Android games, is clearly increasing. Even if its performance is unneeded right now, this tablet could have longer lifespan before you need to upgrade compared to other tablets.

    I hope we'll soon see reviews about how long the battery lasts and how hot the tablet runs.

    I'm not as smart as a lot of people on these subject matter of hardware or tech in general. I don't know that I would agree with that. Rumors are that the Nexus 9 could be dropping with the 64bit K1 around the same time the 64 bit Android drops. That, that might be what Google is waiting on to release both at the same time?   Everything around the Nexus 9 is basically rumors though. Samsung is also coming out with a 4k tablet soon which the specs and features haven't really been released that I recall.  There's a lot of great stuff in the works supposedly before the year is up.

    To me it's a shame that Nvidia has the best chip and put it in a meager package compared to some other tablets.Yes it's a gaming tablet but it should have crushed other tablet as well. They have a lot of wiggle room at it's current price point to add more features / size.  Just refresh the shield with a k1 for a more compact option. Wallet is wide open and I would pay a premium to have a k1 in say a Note Pro 12.2 size.   

     

  • RidelynnRidelynn Member EpicPosts: 7,383
    The hardware has to come to market, the API has to be implemented (and nVidia doesn't usually start out with open-source generic APIs), developers have to use those to actually write games, and then consumers have to buy them to push developers into using more.

    That's nothing unusual - we see it in PC and console hardware now. But I am if the opinion that even if more advanced graphics hardware ships that ~hardware specs~ specifically isn't what moves tablets, and it becomes even more irrelevant with regard to gaming with streaming.
  • CleffyCleffy Member RarePosts: 6,412
    So what your saying is NVidia should have released a Windows Tablet.
  • QuizzicalQuizzical Member LegendaryPosts: 25,355
    Originally posted by Ridelynn
    The hardware has to come to market, the API has to be implemented (and nVidia doesn't usually start out with open-source generic APIs), developers have to use those to actually write games, and then consumers have to buy them to push developers into using more.

    That's nothing unusual - we see it in PC and console hardware now. But I am if the opinion that even if more advanced graphics hardware ships that ~hardware specs~ specifically isn't what moves tablets, and it becomes even more irrelevant with regard to gaming with streaming.

    The graphics API is already there.  It's OpenGL--and Tegra K1 supports the full OpenGL 4.4, the latest and greatest version.  The same Kepler GPU architecture already supports it on Windows and Linux.  OpenGL is already ubiquitously used for graphics on Linux and Mac OS X, and sometimes but less commonly for Windows.  It's a superset of OpenGL ES, which is the graphics API already used on Android and iOS.  The graphics API is not a meaningful barrier here.

    There are still issues of, will developers write games that not enough hardware supports, and will hardware support greater capabilities without games to take advantage of them.  But that's always been an issue with computers.  It's been an issue with every new version of every graphics API ever made.  It's been an issue with every new OS and every new console ever made.

    Granted, some of them did flop.  But operating systems and CPU architectures and consoles that flopped did so because competitors captured most of the market share.  Outside of Windows, the only real alternative to moving forward with OpenGL 4.4 and its successors is pretending that it's 2006 forever and never moving forward.  That might happen for a while, but I don't think it's going to happen forever.

  • rojoArcueidrojoArcueid Member EpicPosts: 10,722
    for $300 that Nvidia Shield Tablet looks very interesting. But i would personally not buy it for gaming, instead i would buy it to replace my laptop. I prefer to stick to gaming handhelds like PsVita or 3DS for portable gaming, but thats just me. Maybe Hearthstone would be an exception on the tablet.




  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by Quizzical
    Originally posted by Ridelynn The hardware has to come to market, the API has to be implemented (and nVidia doesn't usually start out with open-source generic APIs), developers have to use those to actually write games, and then consumers have to buy them to push developers into using more. That's nothing unusual - we see it in PC and console hardware now. But I am if the opinion that even if more advanced graphics hardware ships that ~hardware specs~ specifically isn't what moves tablets, and it becomes even more irrelevant with regard to gaming with streaming.
    The graphics API is already there.  It's OpenGL--and Tegra K1 supports the full OpenGL 4.4, the latest and greatest version.  The same Kepler GPU architecture already supports it on Windows and Linux.  OpenGL is already ubiquitously used for graphics on Linux and Mac OS X, and sometimes but less commonly for Windows.  It's a superset of OpenGL ES, which is the graphics API already used on Android and iOS.  The graphics API is not a meaningful barrier here.

    Your right, OpenGL does exist, but right now it's not supported on Android as far as I can tell, only OpenGL ES.

    Can nVidia push the needle far enough to get Google to implement the full OGL standard? Maybe. I don't know how much work it would take to implement the full spec OGL alongside OGL ES.

    Or does nVidia push it themselves and make it available to everyone (highly unlikely), or do they push extensions to OpenGL ES to support all the Kepler advanced features that are in OGL but not ES (again, unlikely). Of via something proprietary that only works on Kepler compute units until Google pushes a unified standard (OGL or something similar) (this is what I see as the most likely course, nVIdia loves proprietary stuff).

    Maybe once we see some additional full-OGL compliant hardware hit, Google or some other vested third-party (since Android is Open Source) will institute the full OGL standard on the Android code base. I know Qualcomm and AMD are working on unified shader support for ARM; Apple probably is but it's sketchy on if it will actually come to pass (and that would go toward iOS, which would probably drive Android to catch up although I doubt this one, Apple traditionally lags very far behind in graphics support). Maybe it's already there and I just couldn't find it, I don't develop for Android so I'm not very in tune with what's out there.

    But what I mean is, yes, there's an API, but an API doesn't do you any good unless it's implemented, and right now Android doesn't have any implementation (to my knowledge) of an API that is capable of using unified shader features or any of the other neat stuff in Kepler -- and that begs my fundamental question:

    So without full OGL or some other API implemented in Android, how does the nVidia Shield Tablet make use of all that GPU hardware under the hood in a meaningful way that other tablets cannot?

  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by Cleffy
    So what your saying is NVidia should have released a Windows Tablet.

    To go with my previous post in response to Quiz: Yes.

    If this were a full-blown Windows x86 tablet, full OGL support is already there, and so are mature nVidia drivers and a well-developed software library.

    But full-blown Windows can't run on ARM, and the point of Tegra was to get around needing an x86 license from Intel (as well as to exploit the nice energy-efficiency low power aspects of ARM).

    Unless Windows ports the full Windows experience to ARM (which I think they should have, I thought that was the point of Windows 8 RT, but we were all fooled by WinRT, maybe MS will come to their senses with the new CEO), nVidia is more or less stuck with Android or some other Linux variant.

  • QuizzicalQuizzical Member LegendaryPosts: 25,355
    Originally posted by Ridelynn

     


    Originally posted by Quizzical

    Originally posted by Ridelynn The hardware has to come to market, the API has to be implemented (and nVidia doesn't usually start out with open-source generic APIs), developers have to use those to actually write games, and then consumers have to buy them to push developers into using more. That's nothing unusual - we see it in PC and console hardware now. But I am if the opinion that even if more advanced graphics hardware ships that ~hardware specs~ specifically isn't what moves tablets, and it becomes even more irrelevant with regard to gaming with streaming.
    The graphics API is already there.  It's OpenGL--and Tegra K1 supports the full OpenGL 4.4, the latest and greatest version.  The same Kepler GPU architecture already supports it on Windows and Linux.  OpenGL is already ubiquitously used for graphics on Linux and Mac OS X, and sometimes but less commonly for Windows.  It's a superset of OpenGL ES, which is the graphics API already used on Android and iOS.  The graphics API is not a meaningful barrier here.

     

    Your right, OpenGL does exist, but right now it's not supported on Android as far as I can tell, only OpenGL ES.

    Can nVidia push the needle far enough to get Google to implement the full OGL standard? Maybe. I don't know how much work it would take to implement the full spec OGL alongside OGL ES.

    Or does nVidia push it themselves and make it available to everyone (highly unlikely), or do they push extensions to OpenGL ES to support all the Kepler advanced features that are in OGL but not ES (again, unlikely). Of via something proprietary that only works on Kepler compute units until Google pushes a unified standard (OGL or something similar) (this is what I see as the most likely course, nVIdia loves proprietary stuff).

    Maybe once we see some additional full-OGL compliant hardware hit, Google or some other vested third-party (since Android is Open Source) will institute the full OGL standard on the Android code base. I know Qualcomm and AMD are working on unified shader support for ARM; Apple probably is but it's sketchy on if it will actually come to pass (and that would go toward iOS, which would probably drive Android to catch up although I doubt this one, Apple traditionally lags very far behind in graphics support). Maybe it's already there and I just couldn't find it, I don't develop for Android so I'm not very in tune with what's out there.

    But what I mean is, yes, there's an API, but an API doesn't do you any good unless it's implemented, and right now Android doesn't have any implementation (to my knowledge) of an API that is capable of using unified shader features or any of the other neat stuff in Kepler -- and that begs my fundamental question:

    So without full OGL or some other API implemented in Android, how does the nVidia Shield Tablet make use of all that GPU hardware under the hood in a meaningful way that other tablets cannot?

    Is OpenGL implemented in an OS, or is it implemented in video drivers?  If the former, then why does Windows XP support OpenGL 4 (loosely equivalent to DirectX 11), even though the last version of DirectX it supported was 9.0c?  The day before Vista launched, the latest version of OpenGL that existed was 2.1--which is inferior to DirectX 9.0c.  Surely Microsoft wouldn't go back and implement OpenGL upgrades but not DirectX upgrades, would they?

    And if it's implemented in an OS, then how do you explain extensions?  Graphics vendors can define and implement their own proprietary extensions.  A new core version of OpenGL really just says, in order to support the latest core version, you have to support this list of extensions in addition to everything previous--and a lot of the extensions that get added to the core got their start in life as proprietary extensions.

    Nvidia even claims that they support OpenGL 4.x in their "Android development pack":

    https://developer.nvidia.com/content/tegra-android-development-pack-3_0r2-released-start-developing-nvidia-shield-tablet-now

    An OS does need to provide a way to allow video drivers to say, I want you to display this image on this screen.  But Android surely already does that, and I don't see any reason why an OS needs to know how many programmable shader stages there are, for example.  That's internal stuff on a GPU that video drivers can deal with on their own.

  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by Quizzical
    Is OpenGL implemented in an OS, or is it implemented in video drivers?  If the former, then why does Windows XP support OpenGL 4 (loosely equivalent to DirectX 11), even though the last version of DirectX it supported was 9.0c?  The day before Vista launched, the latest version of OpenGL that existed was 2.1--which is inferior to DirectX 9.0c.  Surely Microsoft wouldn't go back and implement OpenGL upgrades but not DirectX upgrades, would they?And if it's implemented in an OS, then how do you explain extensions?  Graphics vendors can define and implement their own proprietary extensions.  A new core version of OpenGL really just says, in order to support the latest core version, you have to support this list of extensions in addition to everything previous--and a lot of the extensions that get added to the core got their start in life as proprietary extensions.Nvidia even claims that they support OpenGL 4.x in their "Android development pack":https://developer.nvidia.com/content/tegra-android-development-pack-3_0r2-released-start-developing-nvidia-shield-tablet-nowAn OS does need to provide a way to allow video drivers to say, I want you to display this image on this screen.  But Android surely already does that, and I don't see any reason why an OS needs to know how many programmable shader stages there are, for example.  That's internal stuff on a GPU that video drivers can deal with on their own.

    Your dealing with a semi-closed system - in Android are the video drivers seperate from the OS (like they are in WIndows), or are they tightly integrated with the OS and included by the hardware vendor (like they are with Apple)? Can I upgrade just the video driver, or install a video driver from an alternate source or developer, or am I stuck with whatever gets pushed via "Automatic Update"?

    OGL requires drivers, but just because a driver supports something doesn't automatically mean it's exposed and available, you still have to go through the OS and GUI and everything else provided to make it work. You allude to that, but you make it sound like it's already there - and for OGL ES it is, but I don't know that you can just automatically apply that to OGL as well - I know it could, but I also know that I don't know enough under-the-hood of Android to be able for certain if it does or not. I do know for Linux is is definitely ~not~ true.

    I don't know technically enough about Android to be able to say it's one way or another for any of these questions, I admit. But they are definitely concerns that make me question the viability of the Shield tablet.

    The nVidia Android development pack you link sure appears to me, at least on the surface, to be "propietary nVidia" that will produce apps that won't work on anything other than Tegra... it may use OGL as a basis, but your binary probably won't run on any other tablet with OGL-enabled features. Again, conjecture, but that's what it seems to be pointing to. The fact that it's under the Gameworks(tm) tag, which is basically nVidia's marketing in developers clothes, almost confirms it.

    "We (nVidia Gameworks) provide technologies e.g. PhysX and VisualFX, which are easy to integrate into games as well as tutorials and tools to quickly generate game content. In addition we also provide tools to debug, profile and optimize your code."

  • skeaserskeaser Member RarePosts: 4,181

    Ordered mine. Great specs for low money and nifty gaming software to boot. 

    Sig so that badges don't eat my posts.


  • QuizzicalQuizzical Member LegendaryPosts: 25,355
    Originally posted by Ridelynn

     


    Originally posted by Quizzical
    Is OpenGL implemented in an OS, or is it implemented in video drivers?  If the former, then why does Windows XP support OpenGL 4 (loosely equivalent to DirectX 11), even though the last version of DirectX it supported was 9.0c?  The day before Vista launched, the latest version of OpenGL that existed was 2.1--which is inferior to DirectX 9.0c.  Surely Microsoft wouldn't go back and implement OpenGL upgrades but not DirectX upgrades, would they?

     

    And if it's implemented in an OS, then how do you explain extensions?  Graphics vendors can define and implement their own proprietary extensions.  A new core version of OpenGL really just says, in order to support the latest core version, you have to support this list of extensions in addition to everything previous--and a lot of the extensions that get added to the core got their start in life as proprietary extensions.

    Nvidia even claims that they support OpenGL 4.x in their "Android development pack":

    https://developer.nvidia.com/content/tegra-android-development-pack-3_0r2-released-start-developing-nvidia-shield-tablet-now

    An OS does need to provide a way to allow video drivers to say, I want you to display this image on this screen.  But Android surely already does that, and I don't see any reason why an OS needs to know how many programmable shader stages there are, for example.  That's internal stuff on a GPU that video drivers can deal with on their own.


     

    Your dealing with a semi-closed system - in Android are the video drivers seperate from the OS (like they are in WIndows), or are they tightly integrated with the OS and included by the hardware vendor (like they are with Apple)? Can I upgrade just the video driver, or install a video driver from an alternate source or developer, or am I stuck with whatever gets pushed via "Automatic Update"?

    OGL requires drivers, but just because a driver supports something doesn't automatically mean it's exposed and available, you still have to go through the OS and GUI and everything else provided to make it work. You allude to that, but you make it sound like it's already there - and for OGL ES it is, but I don't know that you can just automatically apply that to OGL as well - I know it could, but I also know that I don't know enough under-the-hood of Android to be able for certain if it does or not. I do know for Linux is is definitely ~not~ true.

    I don't know technically enough about Android to be able to say it's one way or another for any of these questions, I admit. But they are definitely concerns that make me question the viability of the Shield tablet.

    The nVidia Android development pack you link sure appears to me, at least on the surface, to be "propietary nVidia" that will produce apps that won't work on anything other than Tegra... it may use OGL as a basis, but your binary probably won't run on any other tablet with OGL-enabled features. Again, conjecture, but that's what it seems to be pointing to. The fact that it's under the Gameworks(tm) tag, which is basically nVidia's marketing in developers clothes, almost confirms it.

    "We (nVidia Gameworks) provide technologies e.g. PhysX and VisualFX, which are easy to integrate into games as well as tutorials and tools to quickly generate game content. In addition we also provide tools to debug, profile and optimize your code."

    I know that in order to support the latest version of OpenGL on Linux, you need a distribution that allows the proprietary video drivers to be used.  But are there any other restrictions besides that?  Are there any distributions of Linux that allow you to use proprietary Nvidia or AMD video drivers and support some old version of OpenGL, but not the latest that the drivers support?  I don't see any reason why the OS should care how many programmable shader stages are used, for example.  Stereoscopic 3D (OpenGL 4.2) probably requires some sort of OS support, but that's the only feature added in OpenGL 3.0 or later that strikes me as something that the OS needs to be involved with.

    You do raise the issue of a tablet needing to allow Nvidia's drivers in order to support the latest version, and that is a real problem with Android.  But I'd argue that the only good reason to buy a Tegra K1 chip (as opposed to some other ARM chip) is because you want the GPU, so crippling it is suicide.  Not that "it's insanely stupid" has stopped laptop vendors in the past.

    As for Nvidia going a proprietary route, so long as they're the only vendor with a good OpenGL 4.x ARM chip, it's a moot point.  I really doubt that Nvidia would make it so proprietary that it works for the Shield Tablet but not for other Tegra K1 devices; they're primarily in the business of designing GPUs and getting people to buy the chips, after all.  But once AMD has their own ARM chip, I'd think it would be in Nvidia's best interest to make the modern graphics capabilities that both Nvidia and AMD have--and that the mobile GPU giants lack--work on both Nvidia and AMD hardware.  That's more likely to drive adoption, and thus demand for modern GPUs--demand that will principally benefit Nvidia, as they have a head start over AMD in the ARM space.

  • CleffyCleffy Member RarePosts: 6,412

    If you develop strictly for Windows 8, the pipeline allows better opportunity to develop for Windows RT. Also you have to remember Microsoft isn't going to support a new architecture overnight. I think Windows RT still needs some more maturing period. New CEO is dead set on reducing redundancy with many different Windows Environments. Windows Phone and Windows RT will become the same ecosystem. Windows will become more desktop oriented and merge its two environments better.

    I thought NVidia Shield was suppose to be a client for a game streamed from an x86 desktop. Or a client streaming from the internet.

  • RidelynnRidelynn Member EpicPosts: 7,383

    A new architecture doesn't get supported overnight, you are right. But time isn't the issue here - it's not like ARM snuck up and bit anyone overnight.

    MS has long had an ARM-compatible Windows client (Windows CE), it was upgraded to ARM support in 1997.

    Since they already have an ARM-compatible kernel, when MS announced Win8 and Win8RT, mostly everyone expected a level of cross-compatibility, and that excited everyone (and before people jump on saying that isn't possible, Apple used to support Motorola 68k and PPC code simultaneously , and then again with PPC and x86, with universal binaries and a JIT-esque converter).

    Add in Cross-compatibility, and Win8RT would have probably exploded and become huge - you wouldn't need separate versions of apps. Even if they did it the cheesy, where you buy an app, and you get to download the appropriate version from the Windows Store for whatever architecture your running (developers would still have to develop both versions) without having to buy both versions, I think it would have been a lot more than "Dismal Failure" and would have at least given the illusion of cross-compatibility.

    Everyone was hyped about the unified OS across all devices - PC, laptop, tablet, phone. It turned out to just be 3 seperate OSes that all happened to have the Windows name. That isn't because they ran out of time to develop for ARM.

    I do think the new CEO, with his Mobile First mentality, will fix it - or at least do something to make it better. But I don't think that excuses the mistakes they made with Windows 8 (or Vista, or ME, or Clippy, or Bob, or whatever else). Then again, they also have a Cloud First bit to that mantra, and that part could get somewhat ugly if not handled right - but it could be done well, and we'll see what they come up with next. Microsoft has a long track record of releasing something that's utterly junk and continuing to throw money at it until it becomes something usable.

  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by Cleffy
    I thought NVidia Shield was suppose to be a client for a game streamed from an x86 desktop. Or a client streaming from the internet.

    That was the feature I was most excited about with the handheld device. Now, with the tablet, I think they are shifting gears. The tablet does support streaming, which is cool, but the big marketing bulletpoints now are the ability to pair a bluetooth gamepad (ok... not really unique there), the additional graphics capabilities of Tegra K1 (which we have been talking about here), and big speakers.... in that order.

Sign In or Register to comment.