1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Cyberpunk 2077: PC version with raytracing, first screenshots

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

  1. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    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.
  2. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,939
    Likes Received:
    381
    GPU:
    EVGA 1070 FTW
    One still has to recode/code/write/rewrite.

    All in, the developer has to code to the specific hardware, regardless of the licence, making the licence meaningless.
     
  3. Denial

    Denial Ancient Guru

    Messages:
    12,156
    Likes Received:
    1,329
    GPU:
    EVGA 1080Ti
    I don't know if Alessio is right or if there are other things going on with Nvidia's toolsets/libraries but he's saying its literally impossible for a developer to code for the specific hardware when they use Nvidia stuff and that's not the case on AMD. If your argument is "developers need to do work regardless to the API" then yeah, that's true - but I'm not really sure what your point is with that. The real argument is who makes the developers life easier and to me that's arguable. While AMD's libraries are more open, AMD doesn't really seem to support them with engineering effort the same was Nvidia does, probably due to the financial burden regarding that. It's also pretty clear to me that AMD doesn't have a choice in the matter. While their libraries are open and arguably better performing equivalents to Nvidia's counterparts - almost no one uses them. If they were proprietary they'd probably see worse adoption.

    For an individual, or small studio developer like Alessio maybe AMD's solution makes more sense. For a AAA studio, where Nvidia comes in an goes "hey we can send some engineers to help you integrate feature X,Y,Z, then you can sell those as value-add to 80%+ of the GPU market to help advertise your game" they might like that solution better.
     
    Maddness likes this.
  4. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    Is meaningless only if you want to destroy your company, because NVIDIA lawyers will destroy you if you try to break the Gameworks/Physx license agreement you signed.
     
    msotirov likes this.

  5. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,939
    Likes Received:
    381
    GPU:
    EVGA 1070 FTW
    Ok...so don't sign anything and just code to whatever hardware you want directly.
     
  6. MrBonk

    MrBonk Ancient Guru

    Messages:
    2,919
    Likes Received:
    57
    GPU:
    MSI RTX 2080
    Reflections are really the only worthwhile use of RT imo. (Because modern SSR is awful. RT still has to deal with artifacts from temporal denoising, but you get those with modern SSR anyway. So might as well get an upgrade in the process). But i'm sure the performance hit will be huge.

    Guessing no higher than 30FPS at 4k , probably 20s on an OG 2080.


    Sad no more games are using gameworks effects, i've still yet to see any AO look anywhere as good as HBAO+ natively implemented in a game.
     
    msotirov likes this.
  7. HeavyHemi

    HeavyHemi Ancient Guru

    Messages:
    6,169
    Likes Received:
    522
    GPU:
    GTX1080Ti

    I think everyone knows that AMD and Nvidia have different hardware. I think everyone knows AMD and Nvidia write their code to be most efficient on their hardware. I do not see anyone arguing those facts. What I see is you spamming the board with those simple observations as if someone is arguing they are not true or simple observations. I mean, what kind of numpty is arguing nobody is aware intel and AMD also have processor optimizations. Hello McFly. Of course their code is not going to be hardware agnostic. Duh. Now, can you stop spamming. Thank you.
     
    Last edited: Jun 17, 2019
  8. Fox2232

    Fox2232 Ancient Guru

    Messages:
    9,365
    Likes Received:
    2,020
    GPU:
    -NDA +AW@240Hz
    Here's the thing. Code favoring GCN was shader heavy. And used certain DX12 features nV did not have at given year.
    Did that really happen? No, not really.

    nVidia favoring code could just spam small workloads which their GPUs could handle while GCN would just stall, doing almost nothing.
    Did this happen? Commonly.

    Why? Because spam is easy. Writing something complex, not. In general, one can't blame developer for not being able to make complex shader code for AMD or implement newest things at time AMD had that advantage. nVidia's HW rewarded either laziness or lower skill level. Which fits description of most of today's AAA games.

    But that's in the past, RDNA is much more capable to deal with spam. I even think that it's strength is in dealing with very bad coding well. I expect us to see better 1%/0.1% fps than with nVidia of comparable price.
    - - - -
    GCN was overoptimistic design which few could use to full potential even while AMD delivered information on "How" accompanied by explanation of inner workings, showing "Why".
     
    msotirov and Loobyluggs like this.
  9. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,939
    Likes Received:
    381
    GPU:
    EVGA 1070 FTW
    Um...what? This is about licencing.
     
  10. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,939
    Likes Received:
    381
    GPU:
    EVGA 1070 FTW
    Fair points - I seem to recall the tessellation of Crysis2 being a key example of AMD not having any tessellation capabilities in their hardware resulting in near-catastrophic draw calls, with the ocean/sea drawing to the horizon, and some chest-high walls...I think a lamppost or two had it.

    The talk about Crysis2 and nvidia I think was blown out of proportion, but I think that if your card has the capability that another does not...that is really a very cheap and egregious way of making your competitor look like a fool for not having a basic directX function.

    nvidia have shown AMD up far too easily for not having up-to-date tech in their drivers/api/hardware.
     

  11. Dribble

    Dribble Member

    Messages:
    44
    Likes Received:
    24
    GPU:
    Geforce 1070
    Tbh both sides will push for games to use stuff they do well and not the opposition, as would we all if competing with someone else. When Nvidia had better tessellation they pushed for that. AMD did the same with Mantle/Vulcan as that made them look better. That's just how competition works.

    As for open sourcing stuff - well the companies using the libraries don't care, certainly not about the ethics of open vs closed source. They are all games makers and they need to make the best game possible or they go bust. For them the quality of the libraries and the support they get in using them is much more important. Because Nvidia has a much larger dev team that just means it's mostly them - unless it's an AMD sponsored game where AMD have invested significant dev resources.

    I would say if anything then in business open sourcing is often an admission that you aren't going to do a good job of supporting it with your own dev team, so you let the world at it in the hope volunteers do it for you out of the kindness of their hearts. That can happen (e.g. linux, although even then it's closed source competitor windows still has bigger market share). However unlikely that the open source community is going to put too much effort in supporting one for profit gpu company with it's middle-ware used near exclusively by a bunch of for profit games companies. Not much of the greater good visible there.
     
    Loobyluggs likes this.
  12. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,939
    Likes Received:
    381
    GPU:
    EVGA 1070 FTW
    More fair points, forum members slept well last night :)

    You last point - Respawn Entertainment and the Source engine sprang to mind, as they rewrote the code, practically stripping it out completely and have not given that code back to the community. Now they are part of EA - this will probably never ever happen. Shame, but it does show what the Source Engine can do. I do like the lighting of the Source Engine, I prefer it in many ways to other engines, but as all the API's out there are so similar, there is a sort-of homogenous feel to lighting and rendering now.
     
  13. MonstroMart

    MonstroMart Master Guru

    Messages:
    443
    Likes Received:
    116
    GPU:
    ASUS GTX 1070 Strix
    To be fair it has nothing to do with AMD versus nVidia. It's open source versus closed source. Take another example than AMD versus nVidia. Let just say you have an open source API to connect to a database and query it (via some dll) named Query Me Nadal. Of course this API will not support all the databases. Let's say you have a base dll for the API itself, an ini file and then a dll for every supported databases. To add support to a database just compile a new dll for this database and drop it in the same folder as the API base dll and update the ini file.

    Let's say you have an Hungarian (totally random) developer making for some reasons a UWP app for Hungarian people using a small unknown Hungarian made file based database very popular in his country, let's call it SQLiteForHungarian. He decides to use the Query Me Nadal API because someone outside of Hungary might be interested in using his app with their own database, let's say SQLiteForEveryoneNotHungarian. Query Me Nadal doesn't support SQLiteForEveryoneNotHungarian. Converting his app to SQLiteForEveryoneNotHungarian will be easy. He'll just have to write and compile his own dll of the Query Me Nadal API for the SQLiteForEveryoneNotHungarian database. Query Me Nadal is open source. He has access to the code, he can modify it and then compile it legally to address the need of users outside of Hungary. He can then reuse the modification he made in another app and share them with other people too so they don't have to redo this work themselves. It's very likely the maker of SQLiteForEveryoneNotHungarian already made a dll for the open source API and posted it in his website anyway so he'll likely have nothing to do.

    On the other hand you have another Hungarian developer who decided to use a closed source API to connect and query the SQLiteForHungarian database (made by the maker of the SQLiteForHungarian database). He makes this choice because he already paid for SQLiteForHungarian and this API is part of the package. This closed source API doesn't support SQLiteForEveryoneNotHungarian. Later he wants to add support for SQLiteForEveryoneNotHungarian because Donald Trump randomly decided nobody in USA could use SQLiteForHungarian. He's frack. As simple as that. There's nothing he can actually do outside of reworking his app for another api supporting SQLiteForEveryoneNotHungarian. Depending on the size of his app and how much different the APIs are this could take a long time. Even if he somehow get access to the code modifying it is not legal unless the maker of the API explicitly give him the right to make the modification. Since the maker of the API is also the maker of the database it's unlikely he'll give him this right cause he wants him to use exclusively his database. The maker of SQLiteForEveryoneNotHungarian wont be able to help him support his database with the API part of the SQLiteForHungarian package.
     
    Last edited: Jun 17, 2019
    msotirov likes this.
  14. Fox2232

    Fox2232 Ancient Guru

    Messages:
    9,365
    Likes Received:
    2,020
    GPU:
    -NDA +AW@240Hz
    You are right. But I see issue of optimization differently. On AMD's side, you clearly know how AMD structured schedulers and what kind of data sets you should use for maximum efficiency. As you do, you'll get maximum out of GCN. (But there were still changes and optimizing for one did not necessarily mean optimizing for all.)
    Worst that can happen to nVidia is that code optimized for AMD is too heavy.

    On nVidia's side you have nVidia's engineers who nVidia can send to optimize your code and help implementing their libraries. And they do that well for newest and greatest. Except they do not care to do same for older ones or AMD.
    There were cases where developer said that as nVidia's people finished their work, all was good, except game run very poorly and had bugs on older HW and AMD's.

    That's an issue from introducing man in the middle which is made for specific use. Instead of going for standard. One of things I did not like about OpenGL were manufacturer specific extensions. I was very happy with vulkan till they enabled same blasphemy against standardization.
    They should have exposed all to driver and leave specific hacks on each manufacturer's driver.
    - - - -
    Imagine to process data in array of 1024x128x128x8x8x8 efficiently on one architecture and for another same data would have to be restructured to 256x256x256x32 for optimal performance and then converted back. GPUs are dumb, but fast.
     
  15. Dribble

    Dribble Member

    Messages:
    44
    Likes Received:
    24
    GPU:
    Geforce 1070
    It's not quite as simple as can/can't above.
    If it's open source then he can either:
    a) do it himself. This might take a lot of effort as the library is probably complex (hence the reason for it's existence in the first place). If he has the time and the ability that's great. If he is working for an open company then he can put the code he developed back into the master repo for this and the world benefits. If he's not they'll probably keep the changes, and not share them.
    b) he is unable to do it himself (he hasn't the time/ability/whatever). This is tricky as it's no one's job to do it. He can ask nicely and others might help (the ideal) but if they don't he's a bit stuffed.

    If it's closed source, then he can ask the company that maintain the library to add support for him. They are much more likely to do the work then in the open source case above, but that can't be guaranteed and they might take a while to make the changes. If they don' t he's stuffed. If they do however then it will be done to a really high standard, and all the work integrated back into the library. In fact the company maintaining it will probably generalise the work so it works for all sorts of other languages too as that's a more efficient use of their time, so the next person who needs it it for Romanian for example finds it's already done. In addition it's taken our dev no effort so he has had that time to work on other stuff.

    Imo open source works best if there is a strong community to maintain it. So for example there a huge number of people heavily invested in a completely open source linux. Anything to make that work will get support - so for example linux needs gpu drivers, hence the community will give a lot of help to make them work better (as long as they are open source obviously).

    However in this case we are talking about some advanced games middle ware. The community is really the games companies using it (EA, Activision, EPIC etc) - they mostly aren't the selfless, giving, help to each other out types. Hence if AMD releases something it's not going to get much support in maintaining it, and those that use it will mostly keep the fixes/additional features they add for themselves and not share them.
     

  16. MonstroMart

    MonstroMart Master Guru

    Messages:
    443
    Likes Received:
    116
    GPU:
    ASUS GTX 1070 Strix

    I was not really advocating one way or another. Just trying to explain the difference to the best of my knowledge. When developers use some closed source APIs made by a 3rd party company (for its own products) there's not much the developer or another competing 3rd party company can do to optimize it for a product made by the competing 3ed party company . Nobody can't touch the code. If the API is standardized and work with the competing 3rd party company products then the competing 3rd party company can probably do something with their drivers to help but there will be a big overhead and the performance wont be on par. If the code would be open sourced then the competing 3rd party company could try to help developers optimize the code for it's products. If they would not help then it would be on them not on the developers. With closed source APIs there's no much the competing 3rd party company can do to help.

    Asking the maker of an API to add support and/or optimize for a competing company's product is like asking a flat earther to scientifically prove the earth is flat and actually make sense ;)
     
    Last edited: Jun 17, 2019
  17. Dribble

    Dribble Member

    Messages:
    44
    Likes Received:
    24
    GPU:
    Geforce 1070
    True.
     
  18. er557

    er557 Master Guru

    Messages:
    378
    Likes Received:
    10
    GPU:
    2x 1080 sc acx 3.0 sli
    Hopefully it will run @4k without RTX on a 1080 SC SLI, worst case I will enable some RTX and run @576p
     
  19. Undying

    Undying Ancient Guru

    Messages:
    11,223
    Likes Received:
    1,093
    GPU:
    Aorus RX580 XTR 8GB
    It probably wont suppprt sli so its one 1080. Who knows, it might even run fine on single card too.
     
  20. er557

    er557 Master Guru

    Messages:
    378
    Likes Received:
    10
    GPU:
    2x 1080 sc acx 3.0 sli
    I ran the unreal 4 elevator reflections rtx demo, it did run fine @1080p, the quality was really cinematic.
     

Share This Page