English Amiga Board Amiga Lore


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 14 September 2016, 17:20   #1
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,482
100Hz black frame insertion issues

Windows 10 1511 64-bit, Dell D830 laptop, Nvidia Quadro NVS135M driver 341.96, WinUAE 3.3.0.

I set Windows desktop to 100Hz and have been experimenting with WinUAE's black frame insertion feature. There are some issues. I'm using legacy vsync since low-latency vsync doesn't seem to work well here even at 50Hz.

Black frame insertion works correctly in windowed and full-screen modes. However it doesn't work properly in full-window mode. There it looks like emulation runs at half speed (very flickery).

Also, on trying to start emulation in full-window mode without the BFI box checked (still with 100Hz Windows desktop), there was an error message:
CreateDevice failed, 8876086C S=1 F=0876 C=086C (2156) ()

In the log:
Max hardware surface size: 8192x8192
Allocated draw temp buffer (1600*1280*32) = 0BDDB020
Direct3D: Pixel shader 2.0+ support detected, shader filters enabled.
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
CreateDeviceEx failed, 8876086C S=1 F=0876 C=086C (2156) ()

Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
CreateDevice failed, 8876086C S=1 F=0876 C=086C (2156) ()


Run WinUAE, load config. Windowed mode 100Hz desktop. Start emulation, everything OK. Open settings change from Windowed to Full-window. Half-speed and flickery.

A similar half-speed-and-flickery issue happens when the Windows desktop is set to 50Hz, and I load a config which is full-screen 100Hz with BFI.
Attached Files
File Type: uae DOC_Test_100Hz_BFI.uae (11.5 KB, 21 views)
mark_k is offline  
AdSense AdSense  
Old 14 September 2016, 17:28   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,561
Sorry, I don't support vsync and laptops (except perhaps gaming models), too much weird behavior and aggressive power saving.

At least make sure all Nvidia power saving stuff is off. Fully off. (Especially not "adaptive")
Toni Wilen is offline  
Old 15 September 2016, 00:14   #3
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,482
I don't think black frame insertion not working correctly in full-window mode is related to power saving. (Couldn't see any way to change power saving settings, there's no option in the Nvidia control panel.)

Anyway, here's some more info from testing on Windows 7. In particular, I noticed that black frame insertion in full-window mode works OK with variable sync. By "OK" I mean a stable picture with no slowdown, but with black bar moving down the screen. (The black bar is to be expected since the display doesn't have FreeSync/G-sync.)

In the extracts from the log pasted below, I noticed this for full-screen mode:
D3D9Ex: PS=3.0 VS=3.0 1920*1200*100p FS VS=1 B=1WE 32-bit 0 (8192x8192)
Whereas with full-window mode (with slowdown):
D3D9Ex: PS=3.0 VS=3.0 1920*1200*0p VS=1 B=1WE 32-bit 0 (8192x8192)

Could 0p vs 100p be responsible for the slow-down problem? Even though when in windowed mode (with no slowdown) the log says e.g. 768*576*0p


Windows 7 32-bit, Classic theme (no composition), 1920x1200 100Hz desktop.

Start emulation windowed mode, legacy vsync (no slowdown):
Max hardware surface size: 8192x8192
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Direct3D: Pixel shader 2.0+ support detected, shader filters enabled.
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 768*576*0p VS=1 B=1WE 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
...
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+0) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*50.0000 = 15600.0000 / 50.0 = 312
hardreset, memory cleared
WASAPI: '{0.0.0.00000000}.{a4c0566a-155f-40cc-a41f-d4405703fdc8}'
WASAPI: EX=1 CH=2 FREQ=48000 BUF=512 (4096)
POS (0 0 768 576) - (0 0 768 576)[768,576] (-8 0)
Illegal instruction: 4e7b at 00FC0564 -> 00FC0582
SERIAL: period=372, baud=9600, hsyncs=14, bits=8, PC=fc21f8
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0


Change to full screen mode (no slowdown):
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 1920*1200*100p FS VS=1 B=1WE 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*50.0000 = 15600.0000 / 50.0 = 312
POS (0 0 1920 1200) - (0 0 960 600)[960,600] (-104 -12)


Change to full-window (slowdown):
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 1920*1200*0p VS=1 B=1WE 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*50.0000 = 15600.0000 / 50.0 = 312


Change to full-window variable sync (no slowdown):
window already open (0x0 1920x1200)
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 1920*1200*0p VS=0 B=1I 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
PAL mode V=49.4204Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*49.4204 = 15419.1680 / 49.4 = 312


Change back to windowed, legacy vsync (no slowdown):
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 768*576*0p VS=1 B=1WE 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*50.0000 = 15600.0000 / 50.0 = 312
POS (0 0 768 576) - (0 0 768 576)[768,576] (-8 0)


Change to windowed, low-latency vsync (slowdown):
window already open (761x41 768x576)
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 768*576*0p VS=-1 B=1WS 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
VSync remembered: 99.629352Hz/2.0=49.814676Hz. MinV=1 MaxV=1199 Adj=1062 Units=5
0829 79.1%
VSync remembered: 99.629352Hz/2.0=49.814676Hz. MinV=1 MaxV=1199 Adj=1062 Units=5
0829 79.1%
PAL mode V=49.8147Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*49.8147 = 15542.1788 / 49.8 = 312


Change to full-screen, low-latency vsync (no slowdown):
Allocated draw temp buffer (1600*1280*32) = 3AA90020
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 1920*1200*100p FS VS=-1 B=1WS 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
VSync remembered: 99.627792Hz/2.0=49.813896Hz. MinV=1 MaxV=1198 Adj=1027 Units=5
0830 79.1%
PAL mode V=49.8139Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*49.8139 = 15541.9356 / 49.8 = 312
POS (0 0 1920 1200) - (0 0 960 600)[960,600] (-104 -12)
mark_k is offline  
Old 15 September 2016, 21:21   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,561
"0p" only means "use default" because in full-window (or normal window) screen mode can't be changed.

I don't think low latency vsync can work in any windowed mode unless driver accidentally works exactly like in fullscreen mode. Windowed is practically guaranteed to have vsync wait forced which will make it totally unusable.
Toni Wilen is offline  
Old 16 September 2016, 23:49   #5
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,482
Another issue I found is that with Windows 7 desktop set to 50Hz (or 60Hz), on starting emulation at full-screen 100Hz there is slowdown/flickering. It's as if each Amiga frame is shown twice (2/100 sec) then each black frame shown twice (2/100 sec). Whereas if I set the Windows desktop to 100Hz before running WinUAE, full-screen 100Hz emulation works fine.

Here's some log output. On running WinUAE (before starting emulation):
Enumerating display devices..
Sorting devices and modes..
NVIDIA Quadro NVS 135M '\\.\DISPLAY1' [PCI\VEN_10DE&DEV_042B&SUBSYS_01FE1028&REV_A1]
-: Generic PnP Monitor (1920*1200) * [\Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001]
0: 640x480, 16-bit (60)
1: 640x480, 32-bit (60)
2: 720x480, 16-bit (60)
3: 720x480, 32-bit (60)
4: 720x576, 16-bit (60)
5: 720x576, 32-bit (60)
6: 800x600, 16-bit (60)
7: 800x600, 32-bit (60)
8: 1024x768, 16-bit (60)
9: 1024x768, 32-bit (60)
10: 1280x720, 16-bit (60)
11: 1280x720, 32-bit (60)
12: 1280x800, 16-bit (60)
13: 1280x800, 32-bit (60)
14: 1280x1024, 16-bit (60)
15: 1280x1024, 32-bit (60)
16: 1366x768, 16-bit (60)
17: 1366x768, 32-bit (60)
18: 1440x900, 16-bit (60)
19: 1440x900, 32-bit (60)
20: 1600x1200, 16-bit (60)
21: 1600x1200, 32-bit (60)
22: 1680x1050, 16-bit (60)
23: 1680x1050, 32-bit (60)
24: 1920x1200, 16-bit (!50,60,!100,!101)
25: 1920x1200, 32-bit (!50,60,!100,!101)
26 display modes.
Desktop: W=1920 H=1200 B=32 HZ=101. CXVS=1920 CYVS=1200
Display buffer mode = 1


Note this: Desktop: W=1920 H=1200 B=32 HZ=101. CXVS=1920 CYVS=1200
The desktop is set to 50Hz though. 101 is just the highest-possible refresh rate.

More log output on starting emulation (100Hz full-screen, though I'm not sure WinUAE is actually switching to that display mode):
Max hardware surface size: 8192x8192
SetCursorPos 960x600
Allocated draw temp buffer (1600*1280*32) = 3A390020
Direct3D: Pixel shader 2.0+ support detected, shader filters enabled.
Device name: 'NVIDIA Quadro NVS 135M ' 90012000d1064.a1
D3D9Ex: 00000056 00020800 E0020000 000007A0 ALPHA DYNAMIC SCANLINE
D3D9Ex: PS=3.0 VS=3.0 1920*1200*100p FS VS=1 B=1WE 32-bit 0 (8192x8192)
D3D9Ex: pixelshader filter 'C:\Users\Public\Documents\Amiga Files\WinUAE\_winuae.fx':-1 enabled
D3D9Ex: 752*576 main texture, depth 32
Buffer size (752*576) Native
...
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+0) IDX=10 (PAL) D=0 RTG=0/0
D3D9Ex: 752*574 main texture, depth 32
Buffer size (752*574) Native
RTGFREQ: 312*50.0000 = 15600.0000 / 50.0 = 312
hardreset, memory cleared
WASAPI: '{0.0.0.00000000}.{a4c0566a-155f-40cc-a41f-d4405703fdc8}'
WASAPI: EX=1 CH=2 FREQ=48000 BUF=512 (4096)
POS (0 0 1920 1200) - (0 0 960 600)[960,600] (-104 -12)
Illegal instruction: 4e7b at 00FC0564 -> 00FC0582
SERIAL: period=372, baud=9600, hsyncs=14, bits=8, PC=fc21f8
PAL mode V=50.0000Hz H=15625.0881Hz (227x312+1) IDX=10 (PAL) D=0 RTG=0/0



There is also a problem with the converse. With Windows desktop set to 100Hz, start emulation at 50Hz full-screen. There the display mode doesn't change (it's still 100Hz as far as I can tell). And the screen remains black as emulation runs. Pressing F12 does open the settings window, so it's just the Amiga image which is all black.

Last edited by mark_k; 17 September 2016 at 00:00.
mark_k is offline  
Old 06 December 2016, 22:47   #6
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,482
Would it be possible to make the check for whether black frame insertion is activated less strict?

On my system with Windows desktop set to 50Hz, it seems I can select full-screen 100Hz in WinUAE and it does actually set 100Hz mode (e.g. press F12 and move mouse pointer, it's noticeably smoother than at 50Hz). But even if black frame insertion is checked in misc settings, it's not used.

But if I exit WinUAE, set Windows desktop to 100Hz, then repeat the process, BFI is activated.

[By the way, on the Display settings page there is empty space below the VGA mode resolution autoswitch box; the BFI checkbox would be better there rather than in the misc settings list I think.]
mark_k is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Black frame insertion in non-vsync mode mark_k support.WinUAE 0 13 September 2016 23:39
100 Hz LED, how do I get black frame insertion going? Photon support.WinUAE 5 12 October 2015 00:48
Floppy disk insertion UI Jope support.FS-UAE 5 09 March 2015 11:55
Black Frame insertion like WinUAE on real amiga ancalimon support.Apps 0 09 December 2014 12:42
[Bug]1st frame black when restoring gamestate NoX1911 support.WinUAE 11 22 July 2006 21:04

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 07:49.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.17390 seconds with 12 queries