Problemas e Soluções: Kega Fusion não passa de 30~32 fps em tela cheia no Windows 8.1


Este é um problema que afeta o emulador Kega Fusion em sua última versão (3.64) e possivelmente em versões anteriores. No meu caso, tudo estava bem no Windows 8, mas ao fazer o upgrade para o Windows 8.1 o problema apareceu. Não importa que configurações sejam feitas no Kega Fusion, ao alternar para o modo de tela cheia o emulador não consegue exibir mais que algo entre 30 e 32 frames por segundo.

Depois de muitas tentativas frustradas, a solução acabei encontrando aqui. Tanto o primeiro quanto o segundo método funcionam. Reproduzo a solução aqui, apenas para o caso da fonte original acabar desaparecendo:

Microsoft uses some compatibility in Windows 8 and Windows 8.1 for all DirectDraw (DirectX 5-7) applications running in fullscreen mode.
Compatible called DisableMaxWindowedMode, because of this compatibility fullscreen mode does not work properly.

Flip flags are ignored in this mode, but the flip will still occur resulting in low FPS. Because of this, you get no more ~ 33FPS.There are 3 options how to return the normal FPS in fullscreen mode:

1. Using the Microsoft Application Compatibility Toolkit

  • Install Microsoft ACT – http://www.microsoft.com/en-us/download/details.aspx?id=7352
  • Run the Compatibility Administrator (32-bit)
  • Select New Database (1) and press Fix
  • Fill in the vendor name and the program name, as well as the location of the program. Press next.
  • Press Next again.
  • Select fix DXPrimaryEmulation
  • Click Parameters, enter: -DisableMaxWindowedMode and press OK.
  • Press Next.
  • Press Finish.
  • Press Save, select the database name and save location.
  • Press File – Install
clipboard01awk4nclipboard03hcj2g
clipboard04cojzqclipboard0593kqtclipboard06qhjhm
clipboard07qfjnkclipboard08wwkv4clipboard09ioka2

30 FPS before fix – http://abload.de/img/psychoballs_30i3y10.png
120 FPS after fix – http://abload.de/img/psychoballs_120fmyki.png

2. Use a modified ddraw.dll

I disabled in ddraw.dll problematic compatibility DisableMaxWindowedMode

The archive contains two dll for Windows 8 and Windows 8.1 – Windows_8_8_1_DDRAW_FPS_FIX.zip (mirror link)

Installation: copy ddraw.dll in the game folder.

Note: Fraps does not seem to work with ddraw.dll proxy, use other programs to monitor FPS, such as MSI Afterburner OSD.

31 FPS before fix

http://abload.de/img/willrock_31z5yu4.png

60 FPS after fix (Vsync)

http://abload.de/img/willrock_60ymzw7.png

201 FPS after fix (No Vsync)

http://abload.de/img/willrock_201z2air.png

3. Call SetAppCompatData

If you have the source code, you must use the function – SetAppCompatData to disable DisableMaxWindowedMode.

For example:

{
HMODULE hDDraw = LoadLibrary(_T(“ddraw.dll”));
if(hDDraw)
{
SetAppCompatDataFunc SetAppCompatData = (SetAppCompatDataFunc)GetProcAddress(hDDraw, “SetAppCompatData”);
if(SetAppCompatData)
SetAppCompatData(12, 0);
FreeLibrary(hDDraw);
}
}

Function SetAppCompatData, must be used before the function SetCooperativeLevel.

Hopefully Microsoft will release an update that will fix this problem.

Espero que a Microsoft realmente resolva o problema com uma atualização. Ou ainda que o Snake, autor do Kega Fusion, lance logo a versão 3.65 corrigindo também este problema.

Kega Fusion executando o Out Run, do Mega Drive
Kega Fusion executando o Out Run, do Mega Drive
5 2 votos
Article Rating
(Visitado 76 vezes, 1 visitas hoje)

Link permanente para este artigo: https://www.skooterblog.com/2013/12/22/problemas-e-solucoes-kega-fusion-nao-passa-de-3032-fps-em-tela-cheia-no-windows-8-1/

Inscrever
Notificar sobre
guest

15 Comentários
mais velhos
mais novos mais votados
Inline Feedbacks
Ver todos os comentários
Jaca

Parabéns cara, é meio complicado de entender ao certo o que acontece para acontecer esse bug, porem segui passo a passo o que descreveu e o problema foi resolvido…

Jaca

Skooter tenho um problema parecido com esse no meu Windows 8.1 porem esse acontece com qualquer versão do epsxe que insta-lo no meu notebook… O problema é o seguinte:
Toda vez que altero a tela para full screen somente o som é reproduzido e a tela fica preta, só se ouve o áudio… O que poderia ser? Pois funciona normalmente no Windows 7 e no xp…

Jaca

Pelo menos no 10 por enquanto esta tudo ok…

Italo Oliveira

Amigo, nessa parte “Select fix DXPrimaryEmulation” (quadro 3) não aparece isso pra selecionar, o que eu faço?!

Italo Oliveira

Fiz a segunda opção e deu certo (a de copiar o dll), so que so funciona no FUSION, tentei fazer com o ZSNES e não deu certo, sabe se tem jeito so ZSNES tb amigo?!

Jaca

Só para acrescentar… Skooter testei essa dica com o GGPO e o SUPERCADE e ambos rodaram normalmente em full scren para caso alguém tenha esse mesmo problema…Porém com o ePSXe infelizmente não funcionou a tela continua preta em full screen… Esse Windows 8.1 apesar de prático e rápido não esta sendo bom com emuladores…afs…

Mega Man

Vídeo mostrando a solução com download do arquivo
[vídeo removido do Youtube]

Bruno Henrique

Consegui 😀 VLW

tchutchuco

Também serve com jogos em mugem

Helinux

Com o aparecimento do windows 10 diversos problemas aparecerão como: uma leve tremedeira em determinado contagem de frames no Fusion!!!! No Zsnes também tem essa leve tremedeira e, mesmo usando o modo de compatibilidade que nunca vi funcionar em sistema nenhum…continua a mesma merd…!!!! A verdade é que esses emuladors em modo geral flui e executa de boa no Windows XP!!!! bons tempos do windows XP ou Linux!!!! valeu

Helinux

kega fusion 3.64: Recentemente fui instalar em um máquina com o Windows 10, placa de vídeo Onboard com o Vsync ativado!!!!! Tive que desabilitar no bloco de notas(configuração) para VistaNoWndVSync=0…antes tinha 1 e substitui por 0 e assim o Emulador cravou em tela cheia 60 FPS, nunca tinha vista isso…o emulador em si está suave, sem lags e travamentos…sempre com o Vsync ativado!!!! Vejo muitas pessoas falando que usar Vsync em jogos de 16 bits é besteira, não tem diferença…sim, tem diferença e muito!!!! Valeu!!!!

[…] Fusion[1,–,–,–,–], Genesis Plus GX[1,2], […]

15
0
Gostaríamos de saber o que você pensa, deixe seu comentáriox