Cyberpunk 2077: PC version with raytracing, first screenshots

Discussion in 'Frontpage news' started by Hilbert Hagedoorn, Jun 12, 2019.

  1. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    But...the code I see does favour AMD. Is that not the same thing?
     
  2. Alessio1989

    Alessio1989 Ancient Guru

    Messages:
    2,952
    Likes Received:
    1,244
    GPU:
    .
    It's not. Everyone is free to change it and optimize it for NVIDIA and Intel architectures.
     
    yasamoka likes this.
  3. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    Yes, but if it was built to favour all platforms from the beginning, not just AMD...that work would not be required.

    What am I missing here?
     
  4. Stormyandcold

    Stormyandcold Ancient Guru

    Messages:
    5,872
    Likes Received:
    446
    GPU:
    RTX3080ti Founders
    AMD doesn't have the market-share advantage to do what Nvidia can. That's why they must take the middle ground and support everything, even if the game still works better on AMD hardware.

    Most AMD "sponsored" titles on PC also don't fare that well. There are exceptions like Doom 2016, where the initial release is geared towards the Nvidia audience, then, later on id introduced Vulkan+ AC etc to also appease the AMD fans. However, when we look at how pure DX12 games have done (which AMD tried to make out that only their cards fully supported the DX12 spec), well, it's almost all but abandoned, except for some MS titles and the handful of annual franchises.

    If AMD doesn't support DX12 DXR, then, DX12 will go down in history as a failed api. While AMD will again be remembered for only pushing an api when it's to their advantage. Business as usual then? Yep.
     
    Loobyluggs and Maddness like this.

  5. jaggerwild

    jaggerwild Master Guru

    Messages:
    940
    Likes Received:
    378
    GPU:
    EVGA RTX 2070 SUP
    I didn't see KEano?
     
  6. Andrew LB

    Andrew LB Maha Guru

    Messages:
    1,251
    Likes Received:
    232
    GPU:
    EVGA GTX 1080@2,025
    Exactly! Remember how they delayed Witcher 3 for 6 months so they could "optimize" it? When i say "optimize", I mean to completely downgrade the PC versions graphics in order for it to comply with the parity requirements forced upon them by Sony and Microsoft in their licensing agreements.
     
  7. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    I think I'm going to disagree with that sentiment, purely because you compile to the platform, not the other way around.
     
  8. yasamoka

    yasamoka Ancient Guru

    Messages:
    4,875
    Likes Received:
    259
    GPU:
    Zotac RTX 3090
    Do you understand how software development works? Graphics hardware architecture details are not documented right down to the details across companies. AMD can only know exactly how its own architectures work. Do you think AMD is going to spend time reverse-engineering other graphics hardware architectures and put in much more than triple the work doing Nvidia's and Intel's work on optimizing the software for all then just releasing it under the MIT license where Intel and Nvidia can just go and pick up their free lunch and call it a day? The industry doesn't work that way. It will never work that way. Intel's and Nvidia's freedom to adapt the code to their own architectures entails them putting in their own time into making the product work better on their platforms. Also, even if the product is not *optimized* for Intel and Nvidia, that does not mean it was not built with universally accessible APIs in mind (DirectX, DirectCompute, Vulkan, OpenCL). The same software could actually still run faster on competing hardware as long as the optimizations that AMD performs do not harm performance on the others. And you know what? It's open source - anyone can take a look at the code and determine if that is the case; Intel and Nvidia can simply adapt the source code and just remove the AMD optimizations that may be harming performance on their architectures and call it a day.

    Nvidia's approach to GameWorks being "open-source" and AMD's approach to its own implementations of various technologies being open-source are entirely different.
     
  9. Alessio1989

    Alessio1989 Ancient Guru

    Messages:
    2,952
    Likes Received:
    1,244
    GPU:
    .
    You are missing that with AMD code you can do whatever you want without pay a single bucks to AMD, with NVIDIA software you cannot.
     
  10. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    So, what you are saying is this: The better company is the one with the best toolset? Because if I develop specifically with AMD toolsets, I have to rewrite the code for another platform as, the toolsets are configured for AMD architecture.
    If I develop specifically with nvidia toolsets, I have to write new code to be compatible with other platforms.

    Yet...in both instances I am writing or rewriting code, so...I should pick the toolsets that are the best?

    I am confused though, perhaps you can clarify...in both instances I am also using hardware/architecture that must be compliant with Windows or no one would buy it...correct?

    Again, I am just going to use the best toolsets and TBH be damned about anything else.
     

  11. MonstroMart

    MonstroMart Maha Guru

    Messages:
    1,397
    Likes Received:
    878
    GPU:
    RX 6800 Red Dragon
    Writing your own version of some complex algorithms is very time consuming if you don't have access to the original code or can't use it legally. Can take years. Modifying existing open source code can be done really quickly by skilled developers. The work has already be done for you you just have to adapt it. You can see this as the difference between filming a movie (entire process from casting actors, making special effects, etc...) and editing an already filmed movie. It's far easier to make a Linux distribution than making your own OS. Proprietary technology is bad for the consumer. I don't even know why it is a debate.
     
    yasamoka likes this.
  12. Alessio1989

    Alessio1989 Ancient Guru

    Messages:
    2,952
    Likes Received:
    1,244
    GPU:
    .
    It's not about the "best toolset". It's about how much worth using AMD or NVIDIA middlewares. Most of those middleware are just gimmick (outside some proprietary extensions to expose additional performance capabilities that are not already supported by the "standard" APIs).
    However, if you are using NVIDIA gameworks or NVIDIA physx there are some additional license constraints which can be a limitation if you want the game looks the same, or has more or less the same performance, on non-NVIDIA hardware. There are tons of algorithms and samples around the net, most of them are more impressive than most of Gameworks solutions, like the most of the algorithm explained in the ShaderX/GPU Pro/GPU Zen books (some of them are also open source).
    As for compatibility, it depends if those middleware are using closed and proprietary capabilities not exposed by "standard" APIs, you do not usually directly target a GPU ISA when writing code (outside very limited scenarios).

    However you can - as example - send shader parameters in a particular order instead of another to take advantage of a particular architecture and do not write an alternative path for the others, or you use a particular surface, or even more complex scenarios when your rendering path feeds better a IHVs driver instead of others. All those things combined togher can matter a lot when talking about performance, and if the implementation of a middle-ware is opaque, like some Gameworks and Physix core components, writing or optimizing for other architecture become really challenging or even impossible for license agreements.
     
    Last edited: Jun 15, 2019
  13. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    So...use both/all toolsets and just allow the user to turn on or off those features, if they lack the power to run them?
     
    Maddness and Stormyandcold like this.
  14. Alessio1989

    Alessio1989 Ancient Guru

    Messages:
    2,952
    Likes Received:
    1,244
    GPU:
    .
    It's not about power, it's about if that code can run and if it run does it cripple other IHVs devices for no valid reason? For me, the correct answer is not use NVIDIA gameworks at all untill NVIDIA makes them really open source with a proper license. As for physx 4, I do not know how much well does it run in software mode, but I can tell that main license issues are not different from version 3: the GPU acceleration components are closed source, moreover if you try to hack them, like using third party inject library (ie: non-NVIDIA signed drivers), GPU acceleration won't run (it is stated little in a header file in the physx4 github repo IIRC), and this is clearly a move to prevent AMD and Intel to provide an external party GPU acceleration.
     
  15. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    But, doesn't using AMD 'cripple' nvidia hardware?

    I really am trying to understand the point here - but no one is being honest about what is happening, or is off-point.

    AMD favour AMD, nvidia favour nvidia?

    Just because you have a holier-than-thou attitude in your licence agreement/EULA/code, does not make your software run on any other hardware BETTER than it runs on yours, as you clearly have written your code to favour your tech versus someone else.

    Ability to have access to the source code? So what. So mother fudging what! Why is that of any use to me if you have written your code to favour your hardware! I have to rewrite the code to favour someone else's hardware! That's more work!

    AMD would love to be nvidia and nvidia would love to be cool, neither is right and neither is wrong. No one has the high ground here, and I'll I'm hearing is "nvidia should release their source code, grr"

    Not firing at anyone here in particular, just this topic has always confused me when both companies are favouring their own tech and...that's okay?
     

  16. Alessio1989

    Alessio1989 Ancient Guru

    Messages:
    2,952
    Likes Received:
    1,244
    GPU:
    .
    Favour is different then obstacle; sorry but I cannot help you further. I think you are inside a mental loop, I cannot help you except suggest you to break and read back the post I made.

    PS: +1 kudos who understand the metaphor..
     
    yasamoka and jura11 like this.
  17. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    5,241
    Likes Received:
    1,605
    GPU:
    RTX 3060 12GB
    Oh, it's very simple -

    Develop game using nvidia toolsets = must rewrite for other platforms not compatible or/and, end user has varying performance on other hardware.
    Develop game using AMD toolsets = must rewrite for other platforms not compatible or/and, end user has varying performance on other hardware.

    Only difference is the EULA, which is completely meaningless if you have to do additional coding, which you would - access to the source code or not, there is still work involved.

    I'm sorry you do not get my point, but it is valid and I'm not going to give any credit to AMD for being exactly the same as nvidia.
     
  18. Glidefan

    Glidefan Don Booze Staff Member

    Messages:
    12,481
    Likes Received:
    51
    GPU:
    GTX 1070 | 8600M GS
    @Loobyluggs yeh, most tech companies now tend to do so.
     
  19. yasamoka

    yasamoka Ancient Guru

    Messages:
    4,875
    Likes Received:
    259
    GPU:
    Zotac RTX 3090
    You've had this explained to you multiple times already. These codebases are written with standardized APIs in mind - you do not need to *rewrite* the code for it to work well on your own hardware. You just need to adapt it with your own architecture's optimizations. What you're implicitly asking for is redundant / impossible - that a third party write open-source code that is architecture-agnostic / has to accomodate all the proprietary architectures deployed - that's what APIs such as DirectX, Vulkan, DirectCompute, OpenCL, etc... are there for. It's every company's responsibility to make sure these features work well on its own architectures. A complete rewrite would be very, very rarely a requirement to make something written by AMD to work with any of these APIs work well for Nvidia's architectures. These architectures aren't magical - they share many techniques under the hood, which is why with the same technological constraints, they perform within the same order of magnitude.
     
    Mesab67 likes this.
  20. Alessio1989

    Alessio1989 Ancient Guru

    Messages:
    2,952
    Likes Received:
    1,244
    GPU:
    .
    Develop game using nvidia toolsets = some middlewares run on non-NVIDIA hardware, but those usually doesn't run well, you want to optimize them but you cannot by license agreements. Other simply do not run at all on non-NVIDIA hardware and you cannot rewrite the implementation to run on other hardware by license agreement.
    Develop game using AMD (Intel) toolsets = all middlewares run on non-AMD (non-Intel) hardware, but those usually doesn't run well, you are free to optimize for other architecture.
    Yes I also included Intel because the situation it's more or less the same as AMD.

    This is a huge difference. If some part of the code is optimized with NVAPI or AGS is not an issue, license agreements and the lack on the NVIDIA side of some part of the source code are the only issue. I could also add the fact you cannot use the complete version of NVAPI without a closed agreement, but that's not the point....

    I can guess you never wrote a single line of code that is hardware dependent on performance side: no-one mentally sane would just make a past and copy of those middlewares, nor it could work. Coding games, which involves system programming too, is not like playing with Lego, regardless some inpet people want make you believe that.
     
    Last edited: Jul 1, 2019
    Mesab67 and msotirov like this.

Share This Page