English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 15 September 2019, 00:30   #1
Leandro Jardim
Registered User
Leandro Jardim's Avatar
 
Join Date: Nov 2009
Location: Legoland
Age: 40
Posts: 1,391
This overscan.prefs speed up WinUAE screen refresh

On my 1.70 GHz 64 bit Core i3 computer, the emulated AGA PAL screen refresh in Workbench is much faster with the attached overscan.prefs.

I found this by coincidence. Two days ago I was thinking that my Workbench was more slow than normal. Then I looked for a backup of my hardfile and today I found that the reason for the bad performance is because two days ago I reseted the overscan settings to the system defaults.

Without the file (eg. with other overscan settings or without overscan.prefs file at all) the mouse pointer moves a bit more sluggish than normal and if I open a window on Workbench or scroll the contents of drawers with the mouse in realtime, the FPS meter falls down to 35 FPS and the sound gets out of sync quickly.

With the attached file my i3 looks like a new computer! I never understood why I was having these kind of problems only with Amiga emulation and why sometimes the problem seemed to disappear like magic when "by coincidence" I started WinUAE another time! Many times before I tried to post detailed bug reports, but in all times I always decided to give up very early because without knowing any use case I know is very hard to help someone to find out a solution for any problem.

For who that can run WinUAE on a 2 GHz i7 computer this problem may look imperceptible and without importance, but for everyone else this may totally spoil the quality of the emulation. And even so, if you are like me, any extra speed is precious and you will know how to make good use of it.

I am wondering if the refresh speed can be speeded up in all use cases by tweaking the algorithms in WinUAE to better handle the Amiga's overscan with the same lightness WinUAE handles the use case provided by this file. Of course, it's just a guess that the problem is in the way WinUAE handles Amiga's overscan, or that there's something to improve. Don't see this like a rant, please!

I only attached the overscan.prefs I use, and for testing you can use the Quickstart A1200 with any OS 3.X version normally; I tried before and without the file is equally slow in all cases. Enable 4x cycle exact mode and lagless vsync to put pressure on the test like I do, one slice is already OK. I have not tried yet with OCS/ECS because I don't use they much.

EDIT: I attached also a host configuration file to better match the behavior of WinUAE on my system. And to make sure you use the same overscan area like me, you must also select a 32 bit 1920x1080 resolution at 50Hz.

Last edited by Leandro Jardim; 18 September 2019 at 09:12. Reason: Attachments removed
Leandro Jardim is offline  
Old 15 September 2019, 09:39   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,120
Not much info (and overscan.prefs without matching screen mode isn't very useful..) but I guess horizontal size was reduced a bit and it dropped CPU usage from something like 105% to 90%.

Vsync active and not enough CPU power: every other frame gets missed = speed gets halved.
Toni Wilen is online now  
Old 15 September 2019, 09:55   #3
Leandro Jardim
Registered User
Leandro Jardim's Avatar
 
Join Date: Nov 2009
Location: Legoland
Age: 40
Posts: 1,391
Quote:
Originally Posted by Toni Wilen View Post
Not much info (and overscan.prefs without matching screen mode isn't very useful..)
I use the standard PAL monitor driver with HiRes 64 colors screen mode.

Quote:
Originally Posted by Toni Wilen View Post
but I guess horizontal size was reduced a bit and it dropped CPU usage from something like 105% to 90%.

Vsync active and not enough CPU power: every other frame gets missed = speed gets halved.
Could that be it? Yesterday I did one more test, and I have found that the refresh is faster depending on the proximity of the Workbench screen to the top left corner of the overscan area. (closer to the corner = faster)
Leandro Jardim is offline  
Old 15 September 2019, 10:20   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,120
AmigaOS automatically resizes the actual bitplane size if overscan is larger than currently opened WB screen.

As usual: Border that looks like a border is not always a border and vice versa
AGA also have alignment/scrolling restrictions that will also affect actual active bitplane area.

I think you can sort of visualize it with DMA debugger (but switch of fullscreen and vsync first). Debugger "v -3" command. Check how blue region resizes/moves.
Toni Wilen is online now  
Old 15 September 2019, 12:22   #5
Leandro Jardim
Registered User
Leandro Jardim's Avatar
 
Join Date: Nov 2009
Location: Legoland
Age: 40
Posts: 1,391
Quote:
Originally Posted by Toni Wilen View Post
I think you can sort of visualize it with DMA debugger (but switch of fullscreen and vsync first). Debugger "v -3" command. Check how blue region resizes/moves.
I tried it, I think I understand what you are saying about the color bars. Excuse me if I don't.

But Toni, we are really talking about the same thing? Sorry if I did not explain well. If I am not wrong, you was thinking that I said that the Workbench screen can be scrolled up or down when I drag the title bar, and that this will speed up AmigaOS. And in turn you said that AmigaOS will resize the bitplane blue bars. (like in fig. 1)

I was saying about the overscan preferences program, that can be used to center the Workbench screen, or like in my case, move it to the top left corner of the overscan area, to WinUAE refresh the Amiga screen faster. (like in fig. 2)

Quote:
Originally Posted by Toni Wilen View Post
AmigaOS automatically resizes the actual bitplane size if overscan is larger than currently opened WB screen.

As usual: Border that looks like a border is not always a border and vice versa
AGA also have alignment/scrolling restrictions that will also affect actual active bitplane area.
If you look in fig. 3 you can see that the bitplane blue bars move far right when I use the overscan program to move the screen to the bottom right and that a big space between the overscan edge and the blue bars is wasted (blank).

If this blank border is used for something or is unused, could WinUAE maybe have some kind of difficulty to scan the memory looking for the bitplane data, when it is placed at the extreme bottom right of the overscan area, since it is dynamically moved/resized by AmigaOS like you said? (like in fig. 3)

Hence is this why the screen refresh is faster when the bitplane data are near the top left corner of the overscan area? (like in fig. 2)

EDIT: Attached my screenmode.prefs. It is a simple screen mode, that does not use the overscan area to show a larger screen than the resolution allow.

Last edited by Leandro Jardim; 18 September 2019 at 09:12. Reason: Attachments removed
Leandro Jardim is offline  
Old 15 September 2019, 13:20   #6
Leandro Jardim
Registered User
Leandro Jardim's Avatar
 
Join Date: Nov 2009
Location: Legoland
Age: 40
Posts: 1,391
Quote:
Originally Posted by Toni Wilen View Post
AmigaOS automatically resizes the actual bitplane size if overscan is larger than currently opened WB screen.
In easy words to understand you are saying that AmigaOS directly points the hardware registers to the actual bitplane data.

Quote:
Originally Posted by Toni Wilen View Post
As usual: Border that looks like a border is not always a border and vice versa
Hmm, so there is no border to scan for the bitplane data... The way you described this is a bit confusing at least.

Quote:
Originally Posted by Toni Wilen View Post
AGA also have alignment/scrolling restrictions that will also affect actual active bitplane area.
Confusing words to say that the chipset modifies things like the bitplane size, and this is why sometimes it runs faster.

Toni, if you spoke all this in Japanese with me I would understand the first time. English is not a good language for this, I though that you knew this. That's really unfortunate.
Leandro Jardim is offline  
Old 15 September 2019, 14:25   #7
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,120
Simplest answer: the larger the "blue area", the more CPU power is needed.

There is no easy way to predict or detect if there is visible (due to planar method and copper) and most likely actually emulating it would not take much more power anyway.
Toni Wilen is online now  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Full-screen mode black screen with Default refresh rate mark_k support.WinUAE 4 16 February 2016 20:29
Garbled overscan screen Leandro Jardim support.WinUAE 5 18 June 2013 15:22
Screen modes, overscan and the black borders of death Lovecraft0110 support.Hardware 3 08 January 2012 17:07
WHDLOAD and Overscan Screen Position ancalimon support.Apps 1 04 January 2012 13:35
WB overscan and screen size Marcuz support.Apps 0 20 December 2006 16:40

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 16:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.09874 seconds with 13 queries