19 December 2011, 16:12 | #61 |
Registered User
Join Date: Oct 2006
Location: USA
Posts: 1,058
|
First impression:
Wow! It looks like stuttering is (almost) fixed! I did get three very small glitches (like one frame lost/flickering) in slamtilt, during 3 minutes play, but it went back to smooth immediately after each glitch, instead of continuing to stuttering forever! However, the screen tearing (unnoticeable in Slamtilt, but instantly noticeable on top of screen in Vision Megademo) is still there. In the loading and decrunching part, the first maybe 20 pixels of the top scroller show tearing. In the different parts of the demo, the tearing involves more or less pixels of the top of the screen. For example, in the part with the digitized faces on top, the tearing involves the top part of the big scroller, which is closer to the center of the screen. I didn't notice any of the glitching described above that I see in Slamtilt, apart from maybe the first part of the demo, after the first press space, where I think I saw some of that glitching (stuttering of one frame every once in a while). Sitll testing 100 Hz Behringer Audio ASIO. Will have to test 60 Hz later. Triple buffering display mode still works perfectly! I hope this helps. |
19 December 2011, 18:19 | #62 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
Quote:
Tearing always happens if page flip gets delayed, unless it is buffered mode. I may be able to fix it in double buffered mode but no buffer simply requires very exact timing and may never work with all PCs.. I have an idea that may allow fastest possible/JIT vsync without secondary polling thread.. Testing needed.. Maybe it is also time to get rid of old vsync completely (if above works), low latency + triple buffer equals old vsync latency and it also works much better (normal vsync + jit = huge slowdown in emulated CPU speed) |
||
19 December 2011, 18:40 | #63 |
Registered User
Join Date: Nov 2009
Location: UK
Posts: 497
|
Amazing progress Toni! This would be VERY useful for running e.g. AMOS with AROS-68k ROM (JIT + fastest possible gives by far the best performance with that combo) with smooth scrolling...
Would you mind keeping it as an option (only perhaps less prominent)? For one thing, the old vsync doesn't crash Wine the same way the new one appears to. Last edited by Mequa; 19 December 2011 at 19:23. |
19 December 2011, 19:48 | #64 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
I second that As far as I can see, regular vsync is the best way to run amiga 500/1200 in cycle-exact mode with perfect scrolling (e.g. for running classic floppy games).
|
19 December 2011, 19:52 | #65 |
Registered User
Join Date: Oct 2006
Location: USA
Posts: 1,058
|
Did some more tests on Vision Megademo IV:
- Tearing only happens in A1200, fastest possible mode. - Tearing is bigger (encompasses top third of screen) in double buffer display mode. - No tearing in "Approx. A500/A1200" mode, with or without cycle exact. - Looks like there's no tearing, in any mode, on the emulated A500 - Unimportant side note: Sad but true - looks like my computer is too slow to run first part (after press space) of Vision Megademo IV in A500 cycle exaxt mode (CPU % 140)! Well, there's lots going on there, and it works just fine w/o cycle exact, so I don't really care. - This is the most stable WinUAE release in terms of smoothness and sound ever! Great work Toni! - I still have to select "swap both" to get the right sound channel assignment on the emulated A1200, btw. Tested with poing. - Tearing still there in 60Hz NTSC mode. Vision Megademo IV does not like 60 Hz, it runs sloow, but tearing is nevertheless visible in third part. Last edited by rsn8887; 19 December 2011 at 20:06. Reason: cleaning up typos |
20 December 2011, 16:10 | #66 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
One more tweak: http://www.winuae.net/files/b/winuae.zip
Now only "no buffer" mode tries to reduce latency as much as possible (requires more cpu power, exact page flipping timing etc.. or there will be tearing) Double and triple buffered lets the display driver to time the page flip normally (automatically flip when next vblank, adds one frame worth of latency), also does not busy wait. This mode should now always work better than old vsync. Quote:
|
|
20 December 2011, 20:42 | #67 | |
Registered User
Join Date: Oct 2006
Location: USA
Posts: 1,058
|
Quote:
I posted random snippets before. Edited them out. Here is the bottom line: I saw tearing once in no buffer mode, but couldn't reproduce it so far. Otherwise no buffer mode seems to work fine. Has impact on speed though. Could it be that the speed impact of no buffer mode in this version is larger than that of triple buffer mode in last version? I see it on my emulated A1200 in fastest possible. It seems slower than on last version's triple buffer mode. I also see this on Leander in A500 mode "approximate A500 Speed." Triple buffer last version: 80% CPU. No buffer this version: 100+% CPU in Leander. All tested in 100Hz no latency vsync modes. Dual buffer and triple buffer both stutter and glitch now, takes a few seconds to start, and sometimes goes away by itself after a few seconds. Can also be made to go away by switching buffering modes. But comes back after a while. Tested with Vision Megademo IV on A1200 fastest possible. Also saw something similar in Hyperdrive. Stuttering seems most likely to happen after mouse click in part one of the demo, after part one ran for a while (20 seconds or so). But also last part of demo stutters almost always. This is with no sound buffer underruns. No, I was testing with cycle exact+low latency Vsync. Last edited by rsn8887; 20 December 2011 at 22:18. |
|
21 December 2011, 17:05 | #68 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
"No buffer" vsync requires more power, it is designed to do that for lowest possible latency.
Anyway, yet another attempt: http://www.winuae.net/files/b/winuae.zip Double and triple buffering hopefully works properly again.. |
21 December 2011, 18:43 | #69 |
Longplayer
|
Im not sure if this low latency stuff is ment for RTG modes (but the options do exist), but theres seems to be an issue since beta5 (upto beta4 has been fine) where the rtg screen doesnt appear to open properly or emulation is stalled when using low latency vsync.
Sometimes it will stall a few seconds after wb has booted. If normal vsync is selected then the emulation continues on as normal. pretty minor glitch really and easily avoided at the moment if its not ment to work yet. |
21 December 2011, 18:59 | #70 |
Better than the Original
Join Date: May 2008
Location: Cairo, Egypt
Posts: 152
|
tested your latest update.
winuae crashes. tried 2 different games.(Kick Off 2, Battle Chess). here is my configuration attached.(Mohammed Sayed.uae). |
21 December 2011, 19:01 | #71 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
winuae.zip test versions are only meant for specific test cases, which is low latency vsync + fastest possible CPU in this case.
EDIT: if this is from official b5, attach also crash dump. EDIT2: Mad-Matt, it isn't officially supported yet, wait until it is listed in changelogs Last edited by Toni Wilen; 21 December 2011 at 19:27. |
21 December 2011, 20:12 | #72 | |
Registered User
Join Date: Oct 2006
Location: USA
Posts: 1,058
|
Quote:
But, damn, I am getting stutters still. In all buffering modes actually. It is best tested with Vision MegaDemo IV, last part. The central horizontal small text scroller. It starts stuttering after about 1 minute. Switch from dual buffer to triple buffer or vice versa, and stuttering goes away, only to come back after a minute or two. Seems a bit less severe without sound, but even with disabled sound, I still see noticeable hickups in scrolling. I made a savestate to test it faster (I know, shouldn't do that), but it is also there by just clicking through the demo, e.g. it is not an artefact of savestate. Re-tested with beta from Dec. 18th, and triple buffer works perfect there. However, now testing more closely, I do observe a similar stutter in no buffering and dual buffering (+some tearing that was typical to that beta) on this part of the MegaDemo. I guess I never tested no buffering on that beta that well, because triple buffering worked so well. There must have been something really special about the low latency triple buffer mode that was in the beta from Dec. 18th (the last busy wait beta, before you switched back to OS buffer flipping). It is the only mode that works absolutely perfect for me. (I cannot get it to stutter ever, and no tearing). Needless to say, I really like that beta In fact, the latest beta behaves a lot like "old" winUAE vsync on my system, in the behaviour of the stuttering. With old vsync, I would also get perfectly nice scrolling sometimes for a long time, like 1 min or longer sometimes. But suddenly it would show a hickup or two, and from then on more hickups and, while pretty nice, it just wasn't ever absolutely perfectly glitch free. Not like the beta from 18th December in triple buffering is for me now. I started observing the glitching in old vsync versions of WinUAE, on a different older computer, and I also read a few posts of people saying that WinUAE cannot ever be perfectly smooth in this forum. This makes me believe that it was not just only my system either. Maybe OS buffer flipping is just sucky? All tested using 100Hz A1200 fastest possible low latency vsync Last edited by rsn8887; 21 December 2011 at 20:27. |
|
21 December 2011, 20:28 | #73 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
I got one similar "problem", originally I used Great Gianna Sisters title screen scroller as a vsync test (in fastest cpu mode) and I wasted time to debug random stutters until I noticed it is not vsync problem, just a compatibility problem with fastest possible mode.. |
|
21 December 2011, 20:30 | #74 | ||
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Quote:
Some questions/remarks:
Quote:
|
||
21 December 2011, 20:37 | #75 | |
Registered User
Join Date: Oct 2006
Location: USA
Posts: 1,058
|
Quote:
Correct! Unbelievable. I just tested 21st Dec. beta with Hyperdrive: absolutely NO glitching/stuttering or tearing in no buffer (this is a first) OR triple buffer. A lot of glitching/stuttering in dual buffer. Need to do more tests with different programs, I suppose. EDIT: Never mind. All modes look perfect now, as long as I don't switch between them "on the fly". I think my observation of stuttering in dual buffer is due to this weird, but minor thing: It looks like at least Hyperdrive (didn't test other programs) behaves like the following: If I boot the emulated Amiga in double buffer mode. There is no stuttering, perfectly smooth. When I switch on the fly to triple buffer, while playing the game, there's lots of stuttering. When I switch back to double buffer, still stuttering. When I now switch to no buffer - perfectly smooth. When I switch back to double or triple buffer, still stuttering. A soft boot (amiga amiga ctrl) of amiga fixed this, when I reload the game, there's no sign stuttering again. The whole sequence can then be repeated with same results. Is this normal? Last edited by rsn8887; 21 December 2011 at 20:52. |
|
21 December 2011, 20:56 | #76 | |||||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
First, winuae.zip updated again. This solves random really strange effects where D3D gets totally confused and either hangs or stops updating or keeps showing last 2 previous frames forever or something else..
D3DCREATE_MULTITHREADED flag must be of course set because Present() (flip buffers) call is done from another thread.. Oops.. Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||
22 December 2011, 00:06 | #77 |
Better than the Original
Join Date: May 2008
Location: Cairo, Egypt
Posts: 152
|
here is my dump file.
|
22 December 2011, 00:41 | #78 | |||
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Ah, OK
Quote:
In the process I also stumbled upon a difference between normal wasapi and exclusive wasapi. They use different buffer sizes at same settings 1-7, which seems strange? E.g. exclusive's lowest settings of 1 equals the buffer/latency setting of 4 in non-exclusive (exclusive is also noticably laggier than normal wasapi when both set to 4). This is on an Asus Xonar DX PCI-E soundcard btw. Below the exact numbers as reported by the winuae log: Code:
Sound Buffer Size Normal Wasapi Exclusive Wasapi 1 BUF=64 (1323) BUF=64 (4096) 2 BUF=128 (1323) BUF=128 (8192) 3 BUF=256 (2048) BUF=256 (16384) 4 BUF=512 (4096) BUF=512 (32768) 5 BUF=1024 (8192) BUF=1024 (65536) 6 BUF=2048 (16384) BUF=2048 (131072) 7 BUF=4096 (32768) "Sorry, can't initialize sound" Quote:
Quote:
|
|||
22 December 2011, 15:19 | #79 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
Quote:
Non-exclusive mode is same as device's Windows Sound panel "Default Format" setting. Exclusive can be anything as long as hardware directly supports it. |
||
22 December 2011, 15:22 | #80 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
WinUAE 2.5.1 beta series | Toni Wilen | support.WinUAE | 69 | 22 December 2012 10:22 |
WinUAE 2.3.3 beta series | Toni Wilen | support.WinUAE | 124 | 17 September 2011 15:48 |
WinUAE 2.3.2 beta series | Toni Wilen | support.WinUAE | 79 | 31 May 2011 19:39 |
WinUAE 2.3.0 beta series (was 2.2.1) | Toni Wilen | support.WinUAE | 229 | 22 September 2010 19:20 |
|
|