Thus spake "b5mith": > Hey guys. > > I fixed this problem years ago because zoom-out was unusable. > Zooming is now much quicker in 3.0 but it has come at the cost of > image quality. A lot of the minis players depend on the quality at > different zoom levels being consistent; I was just wondering if this > will be fixed shortly? I would rather have slow (before caching) > zooming with good quality than fast with low quality. > > Ben
Between 2.9 and 3.0 I started targetting parts of VASSAL which are too slow, zooming among them. All of the tests I did at the time indicated that Java's built-in scaling, as of Java 1.5, produced scaled images of quality comparable to your area averaging filter, at many times the speed, and so we switched to that in 3.0.0. Some people noticed the speed increase and were happy. I was perplexed when we started to get complaints about the image quality, since I hadn't seen much difference between the two. It turns out that bilinear scaling is very close to area averaging on some images and less so on others. All of the images I tested were ones where bilinear scaling does well, while some popular modules (e.g., Combat Commander. Thanks to Tim McCaron for providing some images so I could see the difference.) contain images where bilinear scaling does poorly. Once I knew what the problem was, I relaized that the only way to get high-quality scaling at an acceptable speed was to break up images into tiles (here I'm speaking of map images, not tokens) and scale only the tiles which are on-screen. So, from the begining of August I set about implementing a tiling scaler. In the process, I implemented a Lanczos filter, which is both faster *and* produces better quality output than area averaging. All of this is in a working demo now. What's left is to integrate the parts from the demo into VASSAL. I don't know how long that will take, though it's what I'm working on presently. So, here are the options as I see them: 1. Go back to using area averaging for now. This will make people who like faster zoom unhappy, but appease people who use modules which need high-quality scaling. 2. Wait for me to finish integrating the new tiling scaler. This is less work for me, but I can't estimate how long it will take. It won't be done today, done in a week or a month, maybe. 3. Switch to the Lanczos scaler, without tiling, for now. This is some work, but I think it's something I could do today. -- J.
