Dolphin, the GameCube and Wii emulator - Forums

Full Version: CPU vs GPU
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
(01-18-2017, 12:17 AM)degasus Wrote: [ -> ]But emulation yields a strange GPU usage with tons of small buffer updates. This hits a very slow path on all drivers which don't support coherent mapping. Bad luck, QC implemented it in their ES3.2 drivers, nobody else on the mobile did so. We're we're talking about 1-2fps to 10-20 fps.

Just out of curiosity. This sounds like a huge speed increase but I guess there is nothing one could do about it, right? Or could dolphin be improved to gain that speed?
We could workaround in a dual pass way. The first pass can aggregate all buffer uploads, the second pass can generate all rendering calls. But in the end, this is a lot of work, for a worse goal. This won't be as fast as coherent buffers. And I don't see why we should work around such issues where we're not talking about GPU features. This is a driver feature which has no hardware requirement. They were just too lazy.
Too bad, now that I got Dolphin compile and run with Android Studio on my Nvidia Shield TV I thought there were some low hanging fruits I (as a seasoned C++ developer) could collect Sad
There are still many, at least if you are going to ignore all devices with bad GPU drivers (Nvidia Shield TV has fine drivers).

But of course don't expect a factor of 10 here Big Grin
I'd expect maybe like 1% speedup for one hour of work. Likely with a few failed attemptions Big Grin

Come on IRC, #dolphin-emu @freenode, and we can discuss them a bit Big Grin

Edit: Most of the CPU time is spend here, this needs to be optimized as hell: https://github.com/dolphin-emu/dolphin/tree/master/Source/Core/Core/PowerPC/JitArm64
So wait PowerVR lacks this as well? I thought they had accurate drivers (albeit the slowest on the planet). That would mean Qualcomm is somehow the only worthwhile vendor for mobile android devices. What a time to be alive.
I remember when Snapdragon was the worse chipset to run PPSSPP due to overheating and GPU driver issues. The most decent was Exynos with Mali GPUs, Mali 400MP4 still runs PPSSPP better than Mali 720MP2. Exynos would be a good choise nowadays if current Mali GPUs' drivers weren't so bad, AFAIK the CPU has a good performance.
Dolphin just get a huge hit if the driver doesn't support EXT_buffer_storage. This extension was released two years ago, so I see why not everyone supports it for ages. But this extension is part of desktop GL since 4.4, so it was just a question of time...
(01-18-2017, 07:29 PM)degasus Wrote: [ -> ]Dolphin just get a huge hit if the driver doesn't support EXT_buffer_storage. This extension was released two years ago, so I see why not everyone supports it for ages. But this extension is part of desktop GL since 4.4, so it was just a question of time...

Hej, Are you sure the Nvidia Shield TV doesn't support this? I found this page here where a user posted a "[color=#000000]dumpsys SurfaceFlinger"[/color] from the device and it shows the extension [color=#000000]"[color=#000000]GL_EXT_buffer_storage".[/color][/color]
(01-18-2017, 07:40 PM)olihey Wrote: [ -> ]Hej, Are you sure the Nvidia Shield TV doesn't support this?
Of course they do. That's why we're totally CPU bottlenecked on the shield. In fact, we use a desktop 4.5 GL context on the shield TV Big Grin
Idea Thanks for the clarification.
Pages: 1 2 3 4