View Full Version : Biggest remaining WHDload improvement needed: Stop the flashing!
mr_a500
08 January 2006, 22:30
WHDload is awesome and all that, but one thing still really bothers me: screen flashing when accessing HD. Occasionally the flashing gets so bad that I can't even play the game. Here's an example:
Dune II (with PRELOAD set)
1 flash while displaying WB 1.3 language selection screen
2 flashes before intro starts
1 flash for each new screen in intro
5 flashes after clicking on 'Load'
1 flash every time down arrow is pressed on load list (until end of list reached)
30 flashes while loading saved game!
The strange thing is that I used to get only 1 screen flash for each saved game when loading (if 5 saved games, 5 flashes when loading), and no flashes in the intro. I have no idea why it would get worse (starting always after boot with all available memory). This is just one example. Other games have flashing - usually the ones using the Kick1.3 emulation.
I assume that this problem doesn't occur in WinUAE otherwise more people would have complained about it.
bippym
08 January 2006, 22:46
Get MORE memory and preload will work!!!
The flashing is as WHDLoad goes back to the system to load files as obv most games dfon't have HD reading code installed!
mr_a500
08 January 2006, 23:17
Ah, now I see - that must be why it is getting worse. With more DuneII saved games, there are more files to preload and there must not be enough memory to preload them. I would have thought 8Mb Fast and 2Mb Chip was enough, but the kick1.3 emulation must take up a big chunk.
Unfortunately I can't get more memory - 8Mb is the limit. Damn! :crying
Npl
09 January 2006, 06:48
You could try Dune2 without WHDLoad, I know I played through it that way ( and I even think it ran fine on different Screenmodes on my Multisync ).
IMHO some Games should be left alone, for example I dont understand why I should use WHDLoad for Biing! ( other than removing protection ). The Game itself does a way better job caching the data itself.
mr_a500
09 January 2006, 16:00
Yes, I tried Dune II without WHDload after my last post. I couldn't believe how fast it was. I used to wish Dune II would be faster and it looks like it was purposely slowed down in the WHDload slave to be playable on fast computers. On my Amiga it's just slightly too fast (I have to move like a maniac). It would have been nice if the game was fast, but the enemy attack slow. ;)
I don't use WHDload with a few games. Lionheart is much better without. On my Amiga, the parallax scrolling in Lionheart skips - without WHDload it is fine.
Wepl
10 January 2006, 10:59
Ah, now I see - that must be why it is getting worse. With more DuneII saved games, there are more files to preload and there must not be enough memory to preload them. I would have thought 8Mb Fast and 2Mb Chip was enough, but the kick1.3 emulation must take up a big chunk.
Unfortunately I can't get more memory - 8Mb is the limit. Damn! :crying
8 MB should be well for Dune, the game itself uses 1.3 MB plus 4 disks of around 1 MB, so 6 MB should be enough to play it without any flashes.
Maybe you have too much stuff loaded on your wb so that there isnt much of the 8 MB free when starting the game?
Wepl
10 January 2006, 11:09
Yes, I tried Dune II without WHDload after my last post. I couldn't believe how fast it was. I used to wish Dune II would be faster and it looks like it was purposely slowed down in the WHDload slave to be playable on fast computers. On my Amiga it's just slightly too fast (I have to move like a maniac). It would have been nice if the game was fast, but the enemy attack slow. ;)
I don't use WHDload with a few games. Lionheart is much better without. On my Amiga, the parallax scrolling in Lionheart skips - without WHDload it is fine.
In general the installs should give the same speed like running without WHDLoad.
But sometimes the slaves do not enable the caches because of compatibility problems. Often there are problems with enabled caches on 68040/60. If you think its slower than normal you can still try tooltypes like CACHE. Which will mostly work on 68020/30.
You are also free to ask the install author (after reading the readme) it it is possible to speedup the install.
Bamiga2002
10 January 2006, 11:37
Ah, now I see - that must be why it is getting worse. With more DuneII saved games, there are more files to preload and there must not be enough memory to preload them. I would have thought 8Mb Fast and 2Mb Chip was enough, but the kick1.3 emulation must take up a big chunk.
Unfortunately I can't get more memory - 8Mb is the limit. Damn! :cryingYou should try loading the game with no startup-sequence, with reboot-start -package from aminet
http://www.aminet.net/search.php?query=rebootstart
It leaves you almost all memory available for the game.
mr_a500
10 January 2006, 11:51
8 MB should be well for Dune, the game itself uses 1.3 MB plus 4 disks of around 1 MB, so 6 MB should be enough to play it without any flashes.
The saved games add another 2.9Mb, so that was what pushed me over the edge. I'm going to put them in another folder to save space and only copy over the ones I want. I shouldn't get much flashing then.
It would be nice if WHDload didn't flash the screen when accessing HD - at least with games already meant to work from HD. I don't know the technicalities, but I'd rather see the screen briefly freeze than have it flash.
patrik
10 January 2006, 13:16
@mr_a500:
If you run Dune2, using with its normal hd-install, but disable the cpu caches with with "C:CPU NOCACHE", it should become atleast a bit slower, hopefully slow enough :).
Unknown_K
10 January 2006, 16:09
So what is a decent amount of RAM for WHDload these days?
Wepl
04 February 2006, 22:19
4 MB is enough for most old games.
for newer aga games 16 mb should fine.
for all possible games 128 mb is enough :spin
Hungry Horace
08 February 2006, 21:11
for all possible games 128 mb is enough :spin
:laughing should be just about enough to preload Steel Sky CD32 right?
jotd
09 February 2006, 08:39
Yes, I tried Dune II without WHDload after my last post. I couldn't believe how fast it was. I used to wish Dune II would be faster and it looks like it was purposely slowed down in the WHDload slave to be playable on fast computers. On my Amiga it's just slightly too fast (I have to move like a maniac). It would have been nice if the game was fast, but the enemy attack slow. ;)
I don't use WHDload with a few games. Lionheart is much better without. On my Amiga, the parallax scrolling in Lionheart skips - without WHDload it is fine.
WHDLoad does not slow down games unless the authors of the slave did not want to bother and told the Kickstart emulation to use chipmem only.
Me, I always try to use fastmem (even when chipmem was hardcoded in the game: examples Nick Faldo's Golf CD32, Ultimate Body Blows CD32, Midwinter II and other games which use MSB to store information) and the games are faster with WHDLoad than without.
So why not submitting a bugreport in those cases?
Codetapper
09 February 2006, 13:06
The exception to what Jeff says is some games will be slower with WHDLoad if you have to add blitter waits to the game to make it stable. The blitter is very quick compared to a 68000 so coders often did not bother waiting for it to finish.
On a fast Amiga, the blitter is comparitively slow and if you do not wait for it, the game will corrupt memory and crash. But if you are constantly waiting for the blitter, you are killing the performance of the game, and sometimes that is enough to make it skip a frame and then game slows down.
mr_a500
09 February 2006, 14:52
WHDLoad does not slow down games unless the authors of the slave did not want to bother and told the Kickstart emulation to use chipmem only.
No, Dune II was specifically slowed down by the slave according to the ReadMe: "- Game slow down (Now is playable on fast cpu)". That's why I said that. And I see why CFou did slow it down. On an 020 it's very fast but on an 060 or WinUAE it would be insane. (start the game, 1 second later everybody's dead)
I know that you and others try to use fastmem for maximum speed and that's great. :)
CFOU!
09 February 2006, 15:05
No, Dune II was specifically slowed down by the slave according to the ReadMe: "- Game slow down (Now is playable on fast cpu)". That's why I said that. And I see why CFou did slow it down. On an 020 it's very fast but on an 060 or WinUAE it would be insane. (start the game, 1 second later everybody's dead)
I know that you and others try to use fastmem for maximum speed and that's great. :)
Dune 2 'main' file is loaded in chip memory to slow down game (in my memory there are not special code to slow down it.....)
perhaps soon I will re-compile slave (and optimized it) using the last powerfull kick13. :)
mr_a500
09 February 2006, 17:19
Dune 2 'main' file is loaded in chip memory to slow down game (in my memory there are not special code to slow down it.....)
Ah, OK. So I guess you were right jotd. ;)
Npl
09 February 2006, 18:58
I guess the problem with Dune 2 is that it will slow down itself alot when the armies get bigger. I played it on a `030/50 A1200 Years ago, without using WHDLoad, and it was getting very slow on the later maps( and I cant remember having the problem of it beeing to fast). I dont think adding an artificial slowdown to the whole code wouldve made that better.
Cant remember though if I might had disabled caches and/or turned the gamespeed down...
jotd
09 February 2006, 20:38
The exception to what Jeff says is some games will be slower with WHDLoad if you have to add blitter waits to the game to make it stable. The blitter is very quick compared to a 68000 so coders often did not bother waiting for it to finish.
On a fast Amiga, the blitter is comparitively slow and if you do not wait for it, the game will corrupt memory and crash. But if you are constantly waiting for the blitter, you are killing the performance of the game, and sometimes that is enough to make it skip a frame and then game slows down.
You're right, Ian. And BTW would it help to improve blitter wait routine by enabling DMA high priority with DMACON register during the active blitwait loop?
patrik
09 February 2006, 20:51
@mr_a500:
Have you tried running the regular Dune2 with the CPU caches disabled?
mr_a500
10 February 2006, 07:13
Have you tried running the regular Dune2 with the CPU caches disabled?
Yes I did. It was a good idea - sorry for not getting back to you on that. Thanks for the suggestion.
It doesn't slow things down as much as I thought - which is good. It's still slightly faster than with WHDload, but not too fast - good for the early levels. I think the last few levels are best with cache - the big armies slow things down to reasonable speed.
Note: I'm not saying that WHDload or the game slaves or the coders that made them aren't awesome, because obviously they are. I'm just saying that for this one game with my specific Amiga config and memory limitations, it is best to run it without WHDload.
Wepl
13 February 2006, 09:20
You're right, Ian. And BTW would it help to improve blitter wait routine by enabling DMA high priority with DMACON register during the active blitwait loop?
Only if there are large blits and the program is in chipmem. I usually would avoid it. There is also hardware which has problems when the cpu cannot access the memory for a long time.
vBulletin® v3.7.0, Copyright ©2000-2012, Jelsoft Enterprises Ltd.