skmp / reicast-emulator

Reicast was a multiplatform Sega Dreamcast emulator
https://reicast.emudev.org
Other
1.1k stars 345 forks source link

Reicast very stable and with great speed, but still with graphical bugs in some games #1609

Open spielvan opened 5 years ago

spielvan commented 5 years ago

I have tested all the build versions of reicast and with the passage of time its advance was sensational, many new things were implemented as is the case of the new menu, save state and widescreen mode, which made it much more pleasurable, but has some graphical bugs that still persist since a long time ago, it may be due to the OPEN GL 2.0 ES, which I have in my GPU Mali 450 of the box android MX3-G, I will try to list the games that I remember head that I tested and had bugs graphs, to see if they occur with other members and if they also use an Open GL 2.0 device or Open GL 3.0 or 3.1.

Marvel Vs Capcom 2 = The game runs normally, but one of the players is with the character's graphic with vertical stripes in the middle of it randomly appearing and disappearing, the scenery is perfect.

Soul Calibur = The game runs normally, but the character selection menu and the scenarios are left with vertical lists cutting the graph, in the cave scenarios even these lists appear in less quantity.

The House of Dead 2 = Pretty much the same bug of Soul Calibur, stripes in the scene but the game itself runs normal.

Blue Stinger = Game runs normal and sometimes graph having lists by hacking the image randomly.

Zombie Revenge, Cannon Spike ... has the same bug, as if the immed it costs a little to load in certain parts of the scene causing bug, but the game itself running normal, would be that would have a solution for this type of bug , type to create a system of cache or buffer, to store data in loading or to diminish the graphic quality of the texture, more interesting than my pc with windows 7 and with video onbord, in nulldc can emulate these games without any of these bugs, then I believe that my android box is able to do the same.

flyinghead commented 5 years ago

The vertical stripes that you see on MvsC2 are probably due rendering at a higher resolution than 640x480. This can be fixed by reducing the scaling.

The other glitches might also be caused by this but they are very likely depth issues (Soul Calibur has glitches in the background iirc)

GL ES 2.0 is very limited in that regards and there isn't much we can do to fix these issues. GL ES 3.0 provides new features that we use to mitigate them. Same for directx used by nulldc.

spielvan commented 5 years ago

The vertical stripes that you see on MvsC2 are probably due rendering at a higher resolution than 640x480. This can be fixed by reducing the scaling.

The other glitches might also be caused by this but they are very likely depth issues (Soul Calibur has glitches in the background iirc)

GL ES 2.0 is very limited in that regards and there isn't much we can do to fix these issues. GL ES 3.0 provides new features that we use to mitigate them. Same for directx used by nulldc.

Probably that's right, because in ppsspp if you put in 2x, 3x, 4x and 5x some games are with the graph with similar problems, then you have to leave in 1x to get the perfect graphics. I remembered the case of Mortal Kombat Gold, that before in the scenario of the Goro had graphical problem, then when it left your first build you managed to rearrange and now the stage Goro Lair was perfect.

kage2051 commented 5 years ago

Also I should note that a higher scaling has a negative performance impact on devices below Snapdragon 835/845. I had to use 60% scaling (around 720p) on my tablet because the Adreno 506 GPU clearly is not ready for 1080p rendering in games. It tends to hang for a second and speed up for other two seconds if a higher resolution is used.

ghost commented 5 years ago

I didn't feel any speed improvement in the latest beta build see #1592 graphics glitches still the same but the performance is slow compare to reicast-android-debug-69ab16a.apk

Phone Specs: Android 5.1 Mali-450 MP GPU Octacore CPU @1.4GHz clockspeed

kage2051 commented 5 years ago

The 32-bit dynarec for some reason defaults to GLES 2.0-based rendering, plus that by experience using emulators for other consoles, it's somewhat slower compared to the 64-bit dynarec.

There are two ways to choose when you develop an emulator: speed or accuracy. The latter requires a relatively recent hardware, at least a SD660/Adreno 512 or higher. Older builds prior to the Feb/Mar '19+ ones had speed as main priority, that's why you notice a significant difference between r8.1 and the latest beta. With the 64-bit dynarec, accuracy will increase slowly as new devices come to the market.

Also, Mali-450 is a very old GPU (Utgard architecture, the current one is Bifrost which is the Mali-Gxx line). It dates to around 2013, when MT6592 devices were the 'mid-range killers' at the time. By the way, I even tested the emulator on a relative's Xiaomi Mi A1 (4GB RAM version) and results were pretty similar to my Lenovo tablet: stuttering in AITD's in-game cutscenes, plus random speedups. The first one might be GPU limitation because the lag in those situations is minor on Adreno 509.

ghost commented 5 years ago

@kage2051 My brother has Snapdragon 430 Adreno 506 GPU with only 2gb RAM all reicast games I tested are running smooth so RAM still doesn't matter but the GPU and CPU :/

kage2051 commented 5 years ago

Yes, but if you want accuracy, a higher-end CPU+GPU should be enough to meet the requirements. Back in the r7 era, some games didn't even work well and in r8.1, HOTD2 was broken for some strange reason (a fix came a month later). Shenmue is one of the demanding games that still has issues, especially with the notebook where it needs desktop GL 4.3 features to fix it, though an alternative is being worked on.

ghost commented 5 years ago

So reicast team will leave the OpenGL 2.0 phone and focus only to OpenGL 3.0+ phone? That sad πŸ˜”

On Sat, May 18, 2019, 1:25 PM kage2051 notifications@github.com wrote:

Yes, but if you want accuracy, a higher-end CPU+GPU should be enough to meet the requirements. Back in the r7 era, some games didn't even work well and in r8.1, HOTD2 was broken for some strange reason (a fix came a month later). Shenmue is one of the demanding games that still has issues, especially with the notebook where it needs desktop GL 4.3 features to fix it, though an alternative is being worked on.

β€” You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/reicast/reicast-emulator/issues/1609?email_source=notifications&email_token=AI64R2RU2XSGYEQF5LYFXDLPV6HL7A5CNFSM4HNV7J7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWH6XY#issuecomment-493649759, or mute the thread https://github.com/notifications/unsubscribe-auth/AI64R2TFTLOAN2WL4NRHQS3PV6HL7ANCNFSM4HNV7J7A .

spielvan commented 5 years ago

The 32-bit dynarec for some reason defaults to GLES 2.0-based rendering, plus that by experience using emulators for other consoles, it's somewhat slower compared to the 64-bit dynarec.

There are two ways to choose when you develop an emulator: speed or accuracy. The latter requires a relatively recent hardware, at least a SD660/Adreno 512 or higher. Older builds prior to the Feb/Mar '19+ ones had speed as main priority, that's why you notice a significant difference between r8.1 and the latest beta. With the 64-bit dynarec, accuracy will increase slowly as new devices come to the market.

Also, Mali-450 is a very old GPU (Utgard architecture, the current one is Bifrost which is the Mali-Gxx line). It dates to around 2013, when MT6592 devices were the 'mid-range killers' at the time. By the way, I even tested the emulator on a relative's Xiaomi Mi A1 (4GB RAM version) and results were pretty similar to my Lenovo tablet: stuttering in AITD's in-game cutscenes, plus random speedups. The first one might be GPU limitation because the lag in those situations is minor on Adreno 509.

I have the Mali-450 in my Android Box MX3-G of 2016 and it is not so old, 4gb of ram in androoid is an abschord, it does not make sense so much memory for a system based on linux, it is very little application that uses 2gb , I have 2gb in my android box and at minimum it always stays 800 mb free, this with reicast, ppsspp, retroarch, kodi .. open in the background, remembering that such a GPU is common in 90% of Boxes android tv now, now if I have to buy a Nvideia Shield to run the dreamcast games, but it is easier and cheaper to buy a Dreamcast.

spielvan commented 5 years ago

So reicast team will leave the OpenGL 2.0 phone and focus only to OpenGL 3.0+ phone? That sad … On Sat, May 18, 2019, 1:25 PM kage2051 @.***> wrote: Yes, but if you want accuracy, a higher-end CPU+GPU should be enough to meet the requirements. Back in the r7 era, some games didn't even work well and in r8.1, HOTD2 was broken for some strange reason (a fix came a month later). Shenmue is one of the demanding games that still has issues, especially with the notebook where it needs desktop GL 4.3 features to fix it, though an alternative is being worked on. β€” You are receiving this because you commented. Reply to this email directly, view it on GitHub <#1609?email_source=notifications&email_token=AI64R2RU2XSGYEQF5LYFXDLPV6HL7A5CNFSM4HNV7J7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWH6XY#issuecomment-493649759>, or mute the thread https://github.com/notifications/unsubscribe-auth/AI64R2TFTLOAN2WL4NRHQS3PV6HL7ANCNFSM4HNV7J7A .

While I am beta tester, I will always be testing on my MX3-G 2.0ghz. 2gb ram and MALi-450 Open GL2.0 ES

ghost commented 5 years ago

@Spielvan can you upload a video of your MVC2 sample video using latest beta reicast default settings?

On Sat, May 18, 2019, 9:38 PM spielvan notifications@github.com wrote:

So reicast team will leave the OpenGL 2.0 phone and focus only to OpenGL 3.0+ phone? That sad … <#m-4987965878509358779> On Sat, May 18, 2019, 1:25 PM kage2051 @.***> wrote: Yes, but if you want accuracy, a higher-end CPU+GPU should be enough to meet the requirements. Back in the r7 era, some games didn't even work well and in r8.1, HOTD2 was broken for some strange reason (a fix came a month later). Shenmue is one of the demanding games that still has issues, especially with the notebook where it needs desktop GL 4.3 features to fix it, though an alternative is being worked on. β€” You are receiving this because you commented. Reply to this email directly, view it on GitHub <#1609 https://github.com/reicast/reicast-emulator/issues/1609?email_source=notifications&email_token=AI64R2RU2XSGYEQF5LYFXDLPV6HL7A5CNFSM4HNV7J7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWH6XY#issuecomment-493649759>, or mute the thread https://github.com/notifications/unsubscribe-auth/AI64R2TFTLOAN2WL4NRHQS3PV6HL7ANCNFSM4HNV7J7A .

While I am beta tester, I will always be testing on my MX3-G 2.0ghz. 2gb ram and MALi-450 Open GL2.0 ES

β€” You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/reicast/reicast-emulator/issues/1609?email_source=notifications&email_token=AI64R2ST5ZFNVJOMJ5BSUGDPWABGBA5CNFSM4HNV7J7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWO2VA#issuecomment-493677908, or mute the thread https://github.com/notifications/unsubscribe-auth/AI64R2RZ326ERF2HOSLAZ3TPWABGBANCNFSM4HNV7J7A .

spielvan commented 5 years ago

I can not record video with the MX3-G, but if you tell me the problem with you I can confirm it.

skmp commented 5 years ago

We don’t plan to drop support for 2.0, however some of the new fixes might not make it - if it is not feasible or too much work