Fog
Emulator Coder, Experienced player (641)
Joined: 4/5/2014
Posts: 459
Are you using the same file across different emulator versions? If so, that of course won't sync between different versions.
Joined: 7/17/2012
Posts: 543
Location: Switzerland
Fog wrote:
Are you using the same file across different emulator versions?
No. I have different movie per version, each movie named by version of Dolphin I use. For the last test, version 5.0-2191 I recorded a brand new movie, because I didn't have one for this version.
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
From here: https://dolphin-emu.org/blog/2017/07/30/ubershaders/
Write an Interpreter for the GameCube/Wii Rendering Pipeline within Shaders and Run it on the Host Graphics Card Sometimes, one of the best ways to solve an impossible problem is to change your perspective. No matter what we tried, there was no way to compile specialized shaders as fast as games could change configurations. But what if we don't have to rely on specialized shaders? The crazy idea was born to emulate the rendering pipeline itself with an interpreter that runs directly on the GPU as a set of monsterous flexible shaders. If we compile these massive shaders on game start, whenever a game configures Flipper/Hollywood to render something, these "uber shaders" would configure themselves and render it without needing any new shaders. Theoretically, this would solve shader compilation stuttering by avoiding compilation altogether.
Sounds noobish, but does that mean emulating the gamecube GPU itself? Or did I interpret it wrong?
Fog
Emulator Coder, Experienced player (641)
Joined: 4/5/2014
Posts: 459
It's emulating the GPU pipeline, which helps eliminate the stutters in normal playback.
Joined: 2/1/2008
Posts: 347
The issue being fixed here involves an unpredictable process where the GC/Wii GPU is configured to instantly render something differently than it has before so your general purpose GPU needs to compile code to produce the same effect. If too many of these new configurations are needed at the same time, it causes real-time emulation to lag. The ubershader solution is to make a giant GPU program that is capable of all of the different configurations without needing compilation for each configuration, so it requires more rendering resources while being consistent and preventing this process from causing spikes in rendering time. Of course, this wouldn't make much of a difference when performing a frame-by-frame TAS or rendering a video of it. It would have an effect if you were just playing the game or playing back a TAS at full speed.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I'm using an ancient version of Dolphin here, but just in case this issue still exists in the current version... I'm typing in numbers in the TAS Input window and it causes hotkeys to be registered in the main window. So when I try to type in 156, it will save states 1, 5 and 6. Of course I don't want to save those states so this is an issue for me.
Joined: 7/17/2012
Posts: 543
Location: Switzerland
When dumping A/V, the GameCube recording always has a lag between video and audio, but just cut the surplus at the beginning of the audio and it synchronize perfectly. On the other hand, on the Wii, the audio is longer, but is not synchronized with the video, it is not just a blank at the beginning of it. For example: Video 00:40:57:19 and audio: 00:41:03:42. It seems that longer the recording is, greater the desynchronization is. ----------------------------------------------------------------------------------------------- For this second part Forget that, solved. But Dolphin crash few times after I edit the .ini. But now it seems to work as it should.
[quote="Fog"]
Ffmpeg was updated to latest stable version. This fixed a bug in Windows where the bitrate settings didn't affect the quality of the dumped video.

To account for this, I added a new configuration option in the GFX ini called BitrateKbps. To get the best quality out of XviD encodes, set this to some really high number like 50000 (it won't actually do 50000kbps, it just puts it in a really high quality profile).[/quote]

Is this setting still valid? I had to format my computer some time ago, I re-imported my "Dolphin Emulator" folder in "My Documents" but I can not find this line in the GFX.INI file.
Is it possible to add it manually, and if so, where?
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Fog wrote:
It's emulating the GPU pipeline, which helps eliminate the stutters in normal playback.
Sorry for bothering you again, but reading the latest dev blog, I googled "what is gpu pipeline" gave this link https://en.wikipedia.org/wiki/Graphics_pipeline
A computer graphics pipeline, rendering pipeline or simply graphics pipeline, is a conceptual model in computer graphics that describes what steps a graphics system needs to perform to render a 3D scene to a 2D screen.
How exactly does one emulate a conceptional model? This probably sounds very ignorant, but how does one emulate a concept?
Active player (261)
Joined: 12/13/2016
Posts: 352
So recently (not that recent, but like a month ago), Dolphin reimplemented its eject disc feature. Are there any plans to support this in future dtm movie files?
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I briefly talked with pokehero64 on their twitch chat about TASing Pokémon Channel. I also discussed the game here. So I'd like to ask some questions again: Can you, in fact, TAS the Gamecube BIOS? What would be the most legitimate, practical procedure to run the game? --> Example: You'd start the game at clock time 1st Jan 2020 16:30:00. Play 2 minutes. Save the game and hart reset. This first DTM stops right there. You start the 2nd DTM at clock time 1st Jan 2020 16:32:00. Start the DTM into the BIOS and change the Gamecube's clock time to 1st Jan 2021 16:32:06 (6 seconds assuming that it would run to this digit by itself). Then you start from the BIOS into the game and play, save. Rinse and repeat. Would this be legitimate for submissions?
Site Admin, Skilled player (1251)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Sounds like introducing dependency on verification movies. Also reminds me of game installation steps and preparations, except it's a system where you're not meant to install games like you are on PC. But at the same time, it's obviously different from installation steps because it's doing weird manipulations to the console timer. The main problem here is that hard reset is not implemented. If it was, no secondary movies would be needed. Alternatively, setting movie startup time needs to be supported. The multi-movie approach just works around implementation problems with some very questionable techniques. I don't think it's acceptable for publication.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.