English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 24 June 2018, 05:53   #1
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Tweaking on-the-fly CPU and JIT performance for 68030-60

Before I begin, I'm using 3.6.1 as of this time (haven't yet tried the new 4.0.0 release).

In my experience with WinUAE, running the lower-end stuff (68000 through to 68020) is relatively easy, but the problems for me start with anything above that, especially JIT and CPU Emulation Speed control.

I use uae-configuration and a few keys to change "cpu_throttle" and "cachesize" on the fly. They go like this:

Left Arrow: cpu_throttle=-600.0
Right Arrow: cpu_throttle=0.0
Up Arrow: cachesize=8192
Down Arrow: cachesize=0

The default set in the .uae file is cpu_throttle=-600 and cachesize=8192, and most demos run fine this way, but some are incompatible with JIT and so I can turn it off before running a demo I know doesn't work with it, without having to restart emulation, but I also have to set the CPU throttle to full to compensate for JIT. The last situation I get is that I have to just turn off JIT but leave the throttle at -600, because some demos get bad palette flickering effects if I go to full cpu throttle. So that's three situations - I've never put on JIT AND full cpu throttle, never needed to.

This seems like a mess to use, but I wanted to be able to change configurations on the fly.

Is there a simpler way to control the JIT and CPU? At least, can I apply more than one uac-configuration custom event to a key? It would be easier than the above control method.

EDIT: Just upgraded to 4.0.0, and the behaviour of the above keys has totally altered. I'm going to have to seriously tinker with them now.

Last edited by Foebane; 24 June 2018 at 07:06.
Foebane is offline  
Old 24 June 2018, 07:31   #2
Valken
Registered User
 
Join Date: Feb 2009
Location: Amiga
Posts: 264
Try to leave everything as you have set - fastest speed possible, JIT but click on CYCLE EXACT and see if that helps.

I just solved a game problem by enabling this with the above settings on.
Valken is offline  
Old 24 June 2018, 08:27   #3
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Quote:
Originally Posted by Valken View Post
Try to leave everything as you have set - fastest speed possible, JIT but click on CYCLE EXACT and see if that helps.

I just solved a game problem by enabling this with the above settings on.
Is cycle-exact used on high-end Amigas? I've always had it turned off.

Anyway, I tried the Chipset cycle-exact set to full, and one demo I always had issues with (Beats by Loveboat) worked fine 100%, for the first time ever.
Foebane is offline  
Old 24 June 2018, 09:38   #4
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Seriously, I need help with these new CPU settings!

I enclose my old configuration for 3.6.1 and how it used to work in a mostly stable fashion for me, and how my arrow keys worked all the time, but I never used the chipset "cycle-exact full" option.

I've been dabbling with the CPU and FPU settings in 4.0.0 for at least an hour now, and I am getting a lot of issues relating to the performance being far too slow (even on Fastest Possible) and sound glitches when going far too fast.

I also notice that in 4.0.0, my arrow keys (see post #1) no longer work consistently: sometimes only the JIT keys work, other times only the CPU emulation speed keys.

It also seems that selecting CPU "fastest possible" and Chipset "cycle-exact full" is possible, and as I said before, it certainly stabilised one demo I always had problems with, but I don't know if I should change the left and right arrow keys for cycle-exact off and on.

The A4000 emulation situation with 4.0.0 is a mess at the moment, and I don't know where to start to fix it. Maybe my config (included) needs replacing?
Attached Files
File Type: uae Amiga 4000.uae (11.9 KB, 20 views)
File Type: zip winuae_debug_4.0.0.zip (9.0 KB, 18 views)
Foebane is offline  
Old 24 June 2018, 10:25   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,811
Don't do it. It is futile to attempt to fix games or demos with CPU adjustments in fastest possible mode. It is only temporary if it even works.

(I am quite sure I have said this many times already)

EDIT: Do you really need "superhires" display panel setting? (It is adds large CPU usage)
Toni Wilen is offline  
Old 24 June 2018, 10:57   #6
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Quote:
Originally Posted by Toni Wilen View Post
Don't do it. It is futile to attempt to fix games or demos with CPU adjustments in fastest possible mode. It is only temporary if it even works.

(I am quite sure I have said this many times already)

EDIT: Do you really need "superhires" display panel setting? (It is adds large CPU usage)
I never used "fastest possible" at the maximum setting, but yes, I was adjusting the throttle on the fly when I needed to turn off JIT. It wasn't the best idea, but then anything else I tried would result in the demos looking slow. Maybe the Superhires setting is compounding that? I'll turn it off, compensate with the filter and see how I get on. I'll turn on "filtered low resolution" for those rare times Superhires is actually used in a demo (turned out to be a lot less frequent than I thought).

EDIT: Have just attached current config for A4000.

If "fastest possible" is impractical, then what other options do I have for more speed? As you can see by the config, I'm trying "approx a500/a1200 or cycle exact" with the cpu speed set to the +500% maximum, and it's still mostly too slow to what I'm used to, and I've got JIT set on, and if I need to, I'll click on cycle-exact (chipset) if that is needed instead.

Cycle-exact adds stability, right? The demo I mentioned above, I always had problems with it, until I activated cycle-exact, then it was the most stable I'd ever seen it, and smoother, too.
Attached Files
File Type: uae Amiga 4000.uae (11.7 KB, 22 views)

Last edited by Foebane; 24 June 2018 at 11:15.
Foebane is offline  
Old 24 June 2018, 15:05   #7
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
New problem: Lots of sound glitches!

This demo exhibits sound glitches early on in the "red lava" section, but it's really a frequent occurrence in 4.0.0.

I'm pushing maximum cycle-exact cpu performance, and I'm getting a lot of audio stutter, as if the emulator or the cpu is straining. The problem is, if I reduce the performance, the emulation slows down too much. Is there anything I can do to increase performance and reduce the stutter issue?
Attached Files
File Type: zip winuae_debug_4.0.0.zip (13.9 KB, 19 views)
Foebane is offline  
Old 24 June 2018, 15:08   #8
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 37
Posts: 3,709
Keep in mind that some demos designed for high end Amigas do run slowly (as in a few fps) even on a real 060. Can you name some of the demos you're referring to?
Hewitson is offline  
Old 24 June 2018, 15:17   #9
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Quote:
Originally Posted by Hewitson View Post
Keep in mind that some demos designed for high end Amigas do run slowly (as in a few fps) even on a real 060. Can you name some of the demos you're referring to?
Elude's Step by Step is a prime example of being disappointed how slow it is with the new config. However, the prod's YouTube links corroborate how it should actually be.

This is the problem, I've been using the "fastest possible" CPU speed from the start of my hardcore Amiga emulation, and whilst the running has been twitchy, the performance has been off the scale fast and smooth and I now think this is how most Amiga demos are, even the heavy-duty 3D stuff. I guess I'm about to be brought crashing down to reality.
Foebane is offline  
Old 24 June 2018, 15:28   #10
Valken
Registered User
 
Join Date: Feb 2009
Location: Amiga
Posts: 264
I was testing some old games and demos... some do need CYCLE EXACT as I suspect it bangs the hardware or depends on CPU cycles timing hence it goes out of sync, wack, speeds up and down, etc...

Usually you won't really need that much speed unless you are running demos or ported games from beefier systems or badly coded games to compensate for speed.

The best way to tackle this is to setup another specific configurations like what DamienD did for his game pack. It is completely optimized for each game to run nearly perfect, maybe even better than a REAL HW Amiga since he can tune the speed settings as he wants.

You can just load your fast configuration file, click cycle exact (full) and save it under a different name! Use it for badly behaved games or demos that need cycle exact settings.

Note you can still keep the games/demos on your HDD,SSD or floppy images without touching those setttings!

Just load the correct config to play it, then reset to get back to work.

Or do as I do, just run another instance of WinUAE with Cycle Exact settings next to your turbo settings. On a 5 year old dual core system with 8 GB of ram, that is nothing as you can still multitask windows to surf the net and watch videos.
Valken is offline  
Old 24 June 2018, 16:04   #11
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Valken, I haven't touched my A500, A600 and A1200 configs as those should be OK. I am focusing on the really, really high-end stuff at the moment, and my old config from 3.6.1 is useless on it. I'm having to reassess how I use the high-end stuff and I am going to make a list of modifications to the root A4000 config for those that need it.

At the moment, I've struck an unexpected obstacle of sound stutter and lag, and it looks like when it happens, the visuals stutter too.
Foebane is offline  
Old 24 June 2018, 19:25   #12
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,811
Increasing CPU speed in cycle-exact mode will increase CPU requirements HEAVILY. There is no supported method to get badly coded 68030+ games or demos to work properly. There are only workarounds. WHDLoad usually also works if slave handles "too fast" CPUs correctly.

Never, ever trust youtube videos!

If slow down only happens with FPU heavy demos, try switching FPU mode to 64-bit. For some reason 80-bit can be slower for some reason. JIT generated FPU code is exact same, only difference is datatype used to load and store FPU register contents. (Note that 64-bit setting is not loaded correctly from config file.. It is a stupid bug..)
Toni Wilen is offline  
Old 24 June 2018, 19:52   #13
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Thanks, Toni.

I'm confused as to a few items in the CPU options:

What is the difference between CPU Emulation Speed and Cycle-exact CPU Emulation Speed? Do I need to worry about the CPU Frequency?

Also, if something needs or doesn't need Cycle-exact, does that mean the options in Chipset? How do I activate "Cycle-exact (full)" with uae-configuration?
Foebane is offline  
Old 24 June 2018, 20:50   #14
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 43
Posts: 17,385
Quote:
Originally Posted by Valken View Post
The best way to tackle this is to setup another specific configurations like what DamienD did for his game pack. It is completely optimized for each game to run nearly perfect, maybe even better than a REAL HW Amiga since he can tune the speed settings as he wants.
Exactly

Been there, suggested that

...for some reason Foebane seems to think that he can run everything "Amiga" with say only 4 different configs; good luck, and I know you take notes instead of just assigning individual / separate entries
DamienD is offline  
Old 24 June 2018, 21:08   #15
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
I'm not going to change my ways, as I find my own method sufficient as you do yours, DamienD.

All I wanted to ask was how I can set the cpu emulation speed and (chipset) cycle exact from uae-configuration? The idea is, if one config can set JIT, cycle-exact and the cpu emulation speed, then all I have to do is prefix the filename with the information I need, and that is good enough for me.

Quote:
...for some reason Foebane seems to think that he can run everything "Amiga" with say only 4 different configs
I can, and I have, with three. The fourth, the A4000, is proving more complicated. That's why I set up the uae-config keys I mentioned in my opening post in the first place. It served its purpose, but now is the time to embrace "cycle-exact".
Foebane is offline  
Old 25 June 2018, 14:43   #16
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
After getting to grips with how to do proper configurations, I've created two that should be fine, and indeed have given results where the demos are stable, with none of the little glitches like palette flicker that annoyed me so much in the past. In fact, I'm in the process of going through all the demos to make sure they all run fine. It's fun, and it keeps me indoors on such a hot day (UK).

I've included the configurations in question, I hope they make a lot more sense now. I only wish I'd done it in the first place. Lying YouTube videos!
Attached Files
File Type: uae Amiga 3 (A4000 HD Lo).uae (11.7 KB, 23 views)
File Type: uae Amiga 4 (A4000 HD Hi).uae (11.7 KB, 27 views)
Foebane is offline  
Old 26 June 2018, 08:51   #17
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Sorry, Toni, for not heeding your sage advice for so long.

So I've just gone through my demo collection that used the "Fastest Possible" CPU speed before, and now they all look smoother, cleaner and more stable, and what's more, many of the problems I kept moaning on about before have practically disappeared, like palette flicker on fade ins and outs. Also, the Fastest Possible setting was causing some demo effects to go way out of control and way too fast, so timing issues have also been resolved.

I think I didn't do this for so long as I didn't want to go through all of them, trying to determine the optimum configuration for each when the above problems were still there. But when I found out the better way to configure WinUAE, it encouraged me to carry on. I spent all yesterday doing this, but they all look and run better now.

Looking back at this thread, I sound like some demented newbie blathering on about stuff I didn't need to do rather than simple stuff I did.
Foebane is offline  
Old 26 June 2018, 09:37   #18
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 47
Posts: 1,953
Quote:
Originally Posted by Toni Wilen View Post
Increasing CPU speed in cycle-exact mode will increase CPU requirements HEAVILY.
I don't mind using +500% in c-e as my configuration, and step down for those demos that don't like it, just so I can get those 3D routines to look good - I just did a test in Task Manager, and that is only a third of the CPU power that "fastest possible" used. In fact, it was so bad under that that I could hear my CPU fan whine when I used it.

Quote:
Originally Posted by DamienD View Post
Exactly

Been there, suggested that

...for some reason Foebane seems to think that he can run everything "Amiga" with say only 4 different configs; good luck, and I know you take notes instead of just assigning individual / separate entries
I apologise if I sounded rude, DamienD, but what I simply do is to use the Quickstart standard configs for models as my own, add plenty of resources, add my own Host stuff, and I find that most of the programs I use work fine, and for those that don't, I find what modification I need to make it work, and then add that to the filename as a very brief description, so I know what to do to get it to work. When I go to run something, I can simply load the main config and then adjust the settings as required before I start emulation. It's no less effort than your method, and I should point out that in many cases, I might not know if something is not running as intended, unless it's obvious to me, like too fast or something else.

What I would like to know, however, is: is there a way to load a config without starting emulation and without clicking on the Load button? A keyboard shortcut, or something?
Foebane is offline  
Old 26 June 2018, 11:07   #19
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 43
Posts: 17,385
Quote:
Originally Posted by Foebane View Post
I apologise if I sounded rude, DamienD, but what I simply do is to use the Quickstart standard configs for models as my own, add plenty of resources, add my own Host stuff, and I find that most of the programs I use work fine, and for those that don't, I find what modification I need to make it work, and then add that to the filename as a very brief description, so I know what to do to get it to work. When I go to run something, I can simply load the main config and then adjust the settings as required before I start emulation. It's no less effort than your method, and I should point out that in many cases, I might not know if something is not running as intended, unless it's obvious to me, like too fast or something else.
Oh right, you having to do the following is definitely much easier than just working out exactly what's required per individual demo and then saving as a config...

a) Loading a Quickstart or base config.
b) Finding out what modification you need to make it work.
c) Adding this to the filename as a very brief description.

then:

d) Loading the main config.
e) Adjusting the settings as required before starting emulation.

After step b) you save a configuration file; simple

With individual configs you just double-click; you don't have to refer to notes or adjust anything as you've already done this; once...

Anyway, do what you want... sounds like a mission though.

Quote:
Originally Posted by Foebane View Post
What I would like to know, however, is: is there a way to load a config without starting emulation and without clicking on the Load button? A keyboard shortcut, or something?
Of course: winuae.exe -f "<config>.uae" -cfgparam use_gui=no

Last edited by DamienD; 26 June 2018 at 12:10.
DamienD is offline  
Old 26 June 2018, 11:16   #20
Seiya
Registered User

Seiya's Avatar
 
Join Date: Nov 2014
Location: Italy
Posts: 1,029
@Foebane
however with new WinUAE version you can try to use "Cycle_exact=memory" that you can recover many compatibility and have more speed than use "cycle_exact=true".
of course with "memory" option you cannot have full speed like "cpu_speed=max", but howver good performances.
Seiya is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
CPU throttle and JIT Amiga68k support.WinUAE 2 20 October 2017 17:18
Looking to get max CPU performance in WinUAE 68k OS GunnzAkimbo support.WinUAE 1 12 May 2016 11:18
Dolphin got a performance boost in PPC JIT emulation Shoonay Retrogaming General Discussion 0 14 October 2014 09:29
Found nasty bug in 68030 CPU! Oliver_A Coders. General 11 13 November 2010 15:39
WinUAE needs a 68030 CPU Option Exodus request.UAE Wishlist 3 28 April 2004 10:00

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


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.11411 seconds with 14 queries