Slashdot Mirror


User: UnknownSoldier

UnknownSoldier's activity in the archive.

Stories
0
Comments
7,910
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 7,910

  1. Re:Buh-bye DX12 on Nintendo Joins Khronos Group · · Score: 1

    > The PS2 was certainly not very similar to OpenGL (very low-level stuff),

    Exactly. You'd fill this big "command buffer" and DMA it to the GS. You would never (directly) set GPU registers in OpenGL -- the driver would be doing that for you.

    > but I remember the PS3's libgcm being somewhat similar to earlier OpenGL versions, although the SPUs made it much more challenging, and the focus on the command buffer was a bit different

    That's true, that libgcm definitely was much more "aligned" with OpenGL; Sony always had NIH syndrome.

    > The Gamecube was much more similar to OpenGL than Sony's libraries from what I recall, and much easier to use.

    Yup! Same with the Wii -- which was literally a Gamecube overclocked 2x. The Wii's GPU (Hollywood) had the _exact_ same hardware bugs as the Gamecube's GPU (Flipper) for crying out loud ! :-)

    The Wii's GX library was a joy to use compared to the low level PS2 register bit twiddling.

  2. Re:Buh-bye DX12 on Nintendo Joins Khronos Group · · Score: 2

    > Nintendo has historically used a customized version of OpenGL for their APIs, as has Sony

    Please stop spreading that mis-information.

    I shipped a couple Wii games and wrote an OpenGL wrapper. Nintendo's GX rendering library definitely was heavily OpenGL _inspired_ but it was not OpenGL.

    I've also shipped PSX and PS2 games. At that same Wii job we also had an OpenGL wrapper for the PS2. Sony's sce*() calls for the Sony's PSX and PS2 was never OpenGL inspired.

  3. Re:Because it was written in Seastar or C++ on Cassandra Rewritten In C++, Ten Times Faster · · Score: 1

    At the micro level, yes, agreed.

    At the macro level. Not even close.

  4. Re:Because it was written in Seastar or C++ on Cassandra Rewritten In C++, Ten Times Faster · · Score: 1

    You may also be interested in my followup

    I linked to second trivial case, which in practice tends to show up time and time again in typical game code, using member bools where C++ compilers fall completely over.

    Compilers have a very narrow range where they are very good. Outside that domain, they suck at generating optimal code.

    As I say there are 3 levels of optimizations:

    1. Micro-optimization aka bit twiddling
    2. Algorithm optimization
    3. Data-flow optimization. Data Orientation Design focusing on the common (multiple) case, not the uncommon (single) case, and optimizing for throughput, not latency.

  5. Re:Because it was written in Seastar or C++ on Cassandra Rewritten In C++, Ten Times Faster · · Score: 2

    The points are two fold:

    1. Naive use of algorithms and OOP without understanding the data flow will always be slower then understanding and optimizing for the (data) cache usage.

    Pitfalls of Object Oriented Programming

    2. C/C++ compilers do a really shitty job of optimizing even trivial code.

    CppCon 2014: Mike Acton "Data-Oriented Design and C++"

    Mike demonstrates a simple example where a bool member flag is used as a test. MSVC does a horrible job at O2; Clang does a much better job, but still crappy. (Note: Using a different compiler backend on MSVC wasn't even an option until recently.)

    Even a more slightly more complicated example blows up:

    struct Foo
    {
        bool m_NeedParentUpdate;
        int Bar( int count );
        int Baz( int count );
    };
     
    int
    Foo::Bar( int count )
    {
        int value = 0;
        for( int i=0; i < count; i++ )
        {
            if( m_NeedParentUpdate )
            {
                value++;
            }
        }
        return value;
    }
     
    int
    Foo::Baz( int count )
    {
        int value = 0;
        for( int i=0; i < count; i++ )
        {
            if( Bar( count ) > 0 )
            {
                value++;
            }
        }
        return value;
    }

    *Ugh.*

    Why am I forced to remove ghost reads and writes and manually hoist common static evaluation out of loops?? Why can't the compiler deduce this information?

    As Mike says, the compiler is not a magic wand. It is really good at only a _few_ transformations; it is really stupid about most other ones.

  6. Re:Because it was written in Seastar or C++ on Cassandra Rewritten In C++, Ten Times Faster · · Score: 2

    > Among the more significant differences are that C++ compilers are extremely good at optimizing,

    LOL. No they aren't

    Mike Acton gave an excellent talk Code Clinic 2015: How to Write Code the Compiler Can Actually Optimize where he picked an integer sequence to optimize the run-time to calculate the sequence. Techniques include: memoization, and common sub-term recognition. For 20 values pre-optimization time was: 31 seconds, post-optimization time was: 0.01 seconds.

    Linked above.

  7. Re:That's what Nokia, Moto, and Microsoft said on Former GM and BMW Executive Warns Apple: Your Car Will Be a "Gigantic Money Pit" · · Score: 5, Insightful

    Agreed!

    I also don't buy that argument -- otherwise how the hell did Tesla jump start into an already saturated market? If Apple was smart they would just buy Tesla to save them years of experience. :-)

    Just because a company is_currently_ not in an existing market doesn't imply that they won't be hiring people who can lay the foundation.

    Impossible? No. Hard? Yes.

  8. Re:The only Gaming Notebooks are P&P on NVIDIA Announces GeForce GTX 980 GPU For High-End Gaming Notebooks · · Score: 1

    Not all of us use it for gaming. Some use the the GPU for heterogeneous computing R&D.

    I use my desktop i7 + a discrete GTX 980Ti for (game) dev.

    I _also_ use a MacBook Pro with a "decent" mobile 750M for WebGL (shader) testing.

    Since I can't lug around my desktop, having a portable laptop that doesn't have a complete crap GPU is extremely convenient.

    Different strokes for different folks.

  9. Re:How about if we OWN our personal information? on The Difficulty In Getting a Machine To Forget Anything · · Score: 1

    Why do you think some people copyright and trademark their name?

    We really should force companies to sign NDA's when we license our personal (bio) data to them.

  10. Re:Leave It To The Millennials on Let's Not Go To Mars · · Score: 1

    /Oblg. Hard to tell if you are being sarcastic or serious.

    You DO realize that Hope is not just limited to one specific age group, right?

    The Wright Brothers had faith and hope.
    Astronauts and all of NASA driving the Apollo program had faith and hope.

    There have been many men & women, young and old, that have had faith, and have overcome their goals.

    Who really cares if it is the Millennials or not?

  11. Re:Author has no clue ... on Let's Not Go To Mars · · Score: 1

    I agree. I would also clarify one of his nonsense statements which I've fixed:

    "Mars is a dead, cold, barren planet on which we assume no living thing is known to have evolved,

    We _don't_ know if there was life on Mars -- we have (pardon the pun) _barely_ scratched the surface looking for evidence. Yes, SO FAR, given the current evidence (or I should say lack of it) it looks like is no evidence of life BUT without examining most of the data, aka the planet, we just don't know -- we're making guesses on %0.0001 of the data. i.e. What is the _statistical confidence level_ that there was no life on Mars? Until we have hard data the orginal statement is just a SWAG and should be treated as such, not as a fact.

  12. 1. Retards - Let's piss off the consumers! on Nintendo Nixes YouTube Videos of Super Mario Speedruns · · Score: 3, Insightful

    1. Retards -- let's piss off the consumers ...who _used_ to buy your stuff; Keep it up and Nintendo will find they won't have any consumers left to sell to.

    2. Can someone smack Nintendo's Marketing dept with a sudden-outbreak-of-common-sense please?

    Speed runs are FREE publicity.

    This is the best advertising money can buy -- when consumers _willingly_ advertise your product for you without it costing you a cent! /sarcasm Nah, can't have that -- let's waste money on bullshit DMCA and drive a wedge between consumers.

    3. Part of creating something for the culture to enjoy is that it BECOMES part of the culture -- ergo, the limited terms of copyright.

    4. Why am I _not_ allowed to use an emulator if I legally have a physical cartridge? The medium is irrelevant -- I already purchased a license by physically buying the cartridge.

  13. Re:What about American agression? on Forget Hashtag Activism: a Millennial's Guide To Nuclear Weapons Realism · · Score: -1

    > Am I missing something?

    I don't think so: Americans were the original modern terrorists

    An inconvenient truth is never popular.

    /sarcasm: Amerika! Fuck Yeah! We're #1 !! ... (yeah at being world bullies)

    --
    Instead of telling other countries how to run their nation and spending billions on killing another person, how about we address the homeless and all the vet's with PTSD first?

  14. Re:SystemD kernel already supports on Linux 4.3 Bringing Stable Intel Skylake Support, Reworked NVIDIA Driver · · Score: 1

    JWZ would tend to agree with you:

    Some people, when confronted with a problem, think:
    "I know, I'll use regular expressions."
    Now they have two problems.

    * http://regex.info/blog/2006-09...

  15. Re:SystemD kernel already supports on Linux 4.3 Bringing Stable Intel Skylake Support, Reworked NVIDIA Driver · · Score: 3, Insightful

    > Now only if it had a decent text editor for ...

    You could always use Vim ...

    /me ducks ;-)

    Or if you are really evil ... Vim mode for Emacs

    If you really want to go straight to hell ... Emacs mode for Vim

    Pick you religion / devil :-)

  16. Can we stop linking to this shitty blog please on Why the LHC May Mean the End of Experimental Particle Physics · · Score: 1

    Almost every article has tons of assumptions, lots of hand waving, refuses to correct mistakes even when pointed out, etc.

  17. Re:This is to be expected, and affects many printe on Epson's 'Empty' Professional-Grade Cartridges Can Have 20 Per Cent of Their Ink Remaining · · Score: 1

    What CISS printers would you recommend?

  18. Re:Here's 4.5 mins - and it's a LOT more fun on TSR's Lost 1980s Dungeons and Dragons Movie Script, Reviewed · · Score: 1

    Nice review! Complements Cinema Sins very nicely

  19. Re:From the halt-and-catch-fire dept. on Xerox PARC Creates Self-Destructing Chip · · Score: 4, Funny

    Nah, that's the last status message sent:

    ERROR_CPU_ON_FIRE

    or the more traditional:

      "CPU#0: Possible thermal failure (CPU on fire?)

    I can't wait till they put one in a printer. Then this error message will become a reality:

    ERROR_PRINTER_ON_FIRE

    Or I should say

    lp0 on fire

  20. Re:Gaming movies suck. Get over it. on TSR's Lost 1980s Dungeons and Dragons Movie Script, Reviewed · · Score: 1

    /sarcasm But come on, I mean "Super Mario Bros." the movie (1993) now was such a paragon of quality movie making .. NOT !

    "Everything Wrong With Super Mario Bros. In 21 Minutes Or Less"
    * https://www.youtube.com/watch?...

    "Game Theory: Why Video Game Movies SUCK!"
    * https://www.youtube.com/watch?...

  21. Re:Sucker for Zucker on The Story of Oculus Rift · · Score: 2

    That's because Notch is insecure. He is afraid of:

    * success: Making something that will be judged by others
    * failure: Making something that others will laugh at

    If Notch wants to get out of his "slump" he could easily setup the "Notch Indie Fund" and donate 25K / every month to a different indie group. it would help him reconnect with the "roots" and help others to empower them to pursue their dreams.

    http://www.businessinsider.co....

  22. Re:Hate in 3, 2, 1... on Node.js v4.0.0 Released · · Score: 1

    All programming languages suck. Some more then others.

    Then you have complete clusterfucks like Javascript and PHP.

    Javascript's lack of a standard "include" is a prime example of how retarded it is. Oh look "import" is supposedly being worked on, yet no browsers support it (yet.)

    * https://developer.mozilla.org/...

    At least with EcmaScript 6 "strict" mode is _finally_ enabled by default in classes, modules, etc.

    * http://people.mozilla.org/~jor...

    You can't fix retarded design(s) unless we first overcome ignorance with knowledge.

  23. Re:Hate in 3, 2, 1... on Node.js v4.0.0 Released · · Score: 1

    Microsoft didn't even support WebGL until recently (IE11)

    The fact that we had to rely on "popularity" to get cross platform basic native type support when it should have supported it from the beginning just points out how short sighted JS is and was.

  24. Re:Hate in 3, 2, 1... on Node.js v4.0.0 Released · · Score: 4, Insightful

    > enough goodness, smartness, built into the language that if you can just avoid the bad parts,

    That's incorrect. There a million and one ways JS can bite you in the ass.

    When one is forced to use fucking hacks like

    "use strict";

    just so that one can get warnings about using mis-spelt variable names it tells me the designer learnt nothing from BASIC and all the shite that went along with it for the past 20 years.

    I can't believe you're actually defending the retarded automatic semi-colon insertion. This is almost as stupid as Python. A language should NOT impose presentation (whitespace layout), only representation (semantics.) Mathematics doesn't. Spoken languages don't. So WTF should Javascript?? At the very least it should give you a WARNING about doing something "dangerous" or "unintended" like any good ol' C/C++ compiler will do with -Wall -Wextra. In JS? Nope, no errors / warnings / or diagnostic messages. This is one of the reasons Javascript sucks ass.

    Javascript's automatic type coercion is likewise crap. When one is forced to do crap like

    return "" + foo

    in order to force the language to _actually_ return a string, it means you need to _manually_ inspect the _rest_ of the codebase for these undefined time bombs in your code. All this dumb shit could be easily be caught at "compile time" instead of blowing up, or worse, being silent at run-time.

    More dumb shit like browsers treating leading zeros as octal (which NO one uses) in parseInt( "0#" ) is typical of how fucked up JS was. Mozilla and Chrome made excuses for years for why they didn't fix their broken crap:

    * http://code.google.com/p/v8/is...
    * https://bugzilla.mozilla.org/s...

    There is a reason we moved to statically type languages -- because they catch stupid mistakes. We moved away from retarded languages like BASIC for professional programming because we have better things to do then to hand-hold a broken interpreter written by a moron.

    Javascript uses `double` internally. This means it is impossible to get a native 64-bit int. Oh look, I can bit-wise OR a number with ZERO to get a "native" int32. More stupid hacks to work around the lack of a proper type system:

    return foo | 0; // cast to int

    Javascript's equality operator is so broken it is fucking useless and complete joke. Gee, why doesn't == even work for array and objects ?? WTF is the point of having == when any sane programmer will just use === and !== ?? http://dorey.github.io/JavaScr...

    Javascript's 'scoping' is likewise dumb. Or I should say "complete lack of it." What the fuck is the point of braces if the language is just going to ignore block scope??

    Every time you turn around the fucked up language adds yet another stupid "gotcha" that you have to be extra defensive about, and/or use a different work-around per-browser because the rational behavior is no where to be found. I means seriously:

    typeof( [] + {} )

    returns "string" ???

    > But programmers can get used to anything, and it doesn't take any more or less discipline to work around these

    The problem is that you don't _know_ about the quality of code written by the rest of the people on your team. There is no guarantee to catch broken JS code and that's even WITH running some sort of 'lint' and minifier program.

    For the record, I _do_ use Javascript for my day job, which is WebGL.

    Javascript is a the biggest piece of shit right before PHP; both languages are full of idiotic design kludges made by the typical beginner Co

  25. Re:Quite a version jump on Node.js v4.0.0 Released · · Score: 1

    Ha-ha, that's priceless !

    "What comes after version 5? Version 6, right? Not in Pretty pHucked uP land -- they had to have a *vote* to skip version 6 after version 5 and go right to version 7 !"

    Microsoft's marketing dept. must have been taking lesson from them when they skipped Windows 9 and went to Windows 10!