(12-04-2016, 03:37 PM)JMC47 Wrote: Ubershaders should still work the same when completed.If UID caching gets rid of shader compilation stuttering, won't have much of a startup delay once it's threaded, and will cover every game once we compile a database of UIDs, then what would be the benefit of implementing ubershaders at that point?
Dolphin Progress Report
|
12-04-2016, 07:00 PM
12-04-2016, 09:10 PM
(12-04-2016, 07:00 PM)Aleron Ives Wrote: If UID caching gets rid of shader compilation stuttering, won't have much of a startup delay once it's threaded, and will cover every game once we compile a database of UIDs, then what would be the benefit of implementing ubershaders at that point? Well, UID's still wouldn't help the first time a texture is compiled if I understand it correctly, and it's not exactly a given that any database of UID's will be complete (and that every user will know to use it). 12-05-2016, 11:20 AM
I was kind of figuring that if/when it's possible to move the UID cache between Dolphin versions that Dolphin would just come bundled with UID caches for games that people have played. People would submit their caches on the forum or something, developers would pick the most complete cache available for each game, and then bundle that with the next Dolphin release. Our userbase would be able to fill in the list pretty quickly, and even if it's only 90% complete for each game, that would pretty much eliminate the problems people have with shader compilation.
I got the impression that the UID cache would eventually be able to be transferred between Dolphin versions, because while the shaders that get compiled from the UID cache might change between versions, building the shaders at runtime would mean that the UID cache would lead to the compilation of different shaders for each Dolphin version (when graphics changes had been made), but the UID cache itself would remain the same, as the commands the game issues to draw its graphics don't change. 12-05-2016, 11:49 AM
One of the most beneficial games/series would be Metroid Prime,as I have read about the constant stutters those games get in almost every single interaction.
Other games for it would be the ones that stutter at crucial moments that require you to time things precisely or fail trying,does Thousand Year Door have the same problem as Paper Mario 64 (via GLideN64 tested) where it would stutter on the instant for timing a hit correctly on each unique enemy?
Shield TV Pro (stock/non-rooted OTA 6.3)
Acer Aspire E 15 E5-575G-59EE CPU: i5-6200U 2.3-2.8Ghz _ GPU: Nvidia GeForce 940MX 2GB (GDDR5) VRAM Hyundai 8GB DDR4 Dual-channel SDRAM _ 1000GB HDD New; CPU: Intel i9 9900KF_ GPU: Nvidia RTX 2060 Super | ◕‿◕ (12-05-2016, 11:20 AM)Aleron Ives Wrote: I was kind of figuring that if/when it's possible to move the UID cache between Dolphin versions that Dolphin would just come bundled with UID caches for games that people have played. People would submit their caches on the forum or something, developers would pick the most complete cache available for each game, and then bundle that with the next Dolphin release. Our userbase would be able to fill in the list pretty quickly, and even if it's only 90% complete for each game, that would pretty much eliminate the problems people have with shader compilation. The UIDs do not change between each video back-end, so changing video options won't cause a need for new ones to be created. There will be some occasions where changes in future versions of Dolphin can change/invalidate the UIDs resulting in a need for people to generate a new batch of UIDs. I imagine distribution and downloading of them can be managed entirely within the Dolphin user interface (Have a button in game properties or some such to download the latest UIDs from a server for the game you're looking at the properties of, another button to submit your own UIDs etc). I doubt there would be enough people intentionally uploading dodgy UIDs just to mess with people for it to need much vetting of the uploaded data. They could append newly submitted UIDs to previous submissions to ensure multiple submissions help complete a set of UIDs.
Computer specifications:
Windows 10 Pro x64 | Ryzen 3700X | ASUS Crosshair VIII Hero WiFi Motherboard | 16GB 3600MHz | Geforce 1070Ti | Corsair AX760 PSU 12-05-2016, 06:28 PM
You would need somebody to host those UID files in some way, since having a set of files for every game will be quite the large amount of files. I expect it will be something like the texture packs where people will just upload their UIDs to some external place and link in to a Dolphin post.
12-05-2016, 07:10 PM
(12-05-2016, 03:43 PM)Franpa Wrote: There will be some occasions where changes in future versions of Dolphin can change/invalidate the UIDs resulting in a need for people to generate a new batch of UIDs.This is what I don't really understand. I thought this feature was about basically caching the draw commands that games issue, so that Dolphin can compile shaders at runtime without needing to encounter those commands in the game first. Since the commands in the game don't ever change, I don't understand why Dolphin updates would invalidate the cache. Also, how big is the UID cache, anyway? Is it something that can be highly compressed with 7z to make distribution easy? 12-05-2016, 07:48 PM
Dolphin could be generating the wrong UIDs due to improper GPU emulation. If we fix a GPU bug, the UIDs would need to be regenerated.
12-06-2016, 12:10 AM
(12-05-2016, 07:10 PM)Aleron Ives Wrote: This is what I don't really understand. I thought this feature was about basically caching the draw commands that games issue, so that Dolphin can compile shaders at runtime without needing to encounter those commands in the game first. Since the commands in the game don't ever change, I don't understand why Dolphin updates would invalidate the cache. Dolphin needs to comprehend the UIDs in order to generate a shader from them. Dolphin's understanding of the UID can change from version to version and thus the shaders no longer match the new interpretation of the UIDs and need to be regenerated.
Computer specifications:
Windows 10 Pro x64 | Ryzen 3700X | ASUS Crosshair VIII Hero WiFi Motherboard | 16GB 3600MHz | Geforce 1070Ti | Corsair AX760 PSU 12-06-2016, 03:24 AM
Question unrelated to the previous few posts: In the report, while talking about the threaded video dumping, it was mentioned that at 2x IR, the game ran almost at full speed while dumping; was that using FFV1? Because although my CPU is a bit weaker than the test system and I usually dump at 3x IR, I usually still get single-digit FPS dumping with FFV1.
|
« Next Oldest | Next Newest »
|
Users browsing this thread: 6 Guest(s)