Old program for testing our image loading speed. We will want to
investigate the possibility in the future of uncompressing our images into a local cache on the client and loading from there because it is about 10 times faster to load uncompressed images. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2089 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -0,0 +1,78 @@
|
|||||||
|
//
|
||||||
|
// $Id: ImageLoadingSpeed.java,v 1.1 2002/12/23 20:32:28 mdb Exp $
|
||||||
|
|
||||||
|
package com.threerings.media;
|
||||||
|
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.io.*;
|
||||||
|
import com.threerings.resource.ResourceManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests our image loading speed.
|
||||||
|
*/
|
||||||
|
public class ImageLoadingSpeed
|
||||||
|
{
|
||||||
|
public static void main (String[] args)
|
||||||
|
{
|
||||||
|
if (args.length < 1) {
|
||||||
|
System.err.println("Usage: ImageLoadingTest image [image ...]");
|
||||||
|
System.exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
ResourceManager rmgr = new ResourceManager("rsrc");
|
||||||
|
rmgr.initBundles(null, "config/resource/manager.properties", null);
|
||||||
|
ImageManager imgr = new ImageManager(rmgr, null);
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
|
// // serialize our image
|
||||||
|
// try {
|
||||||
|
// FileOutputStream fout = new FileOutputStream("image.dat");
|
||||||
|
// ObjectOutputStream oout = new ObjectOutputStream(fout);
|
||||||
|
// oout.writeObject(image);
|
||||||
|
// oout.close();
|
||||||
|
|
||||||
|
// } catch (IOException ioe) {
|
||||||
|
// ioe.printStackTrace(System.err);
|
||||||
|
// System.exit(-1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
for (int iter = 0; iter < IMAGE_LOAD_ITERS; iter++) {
|
||||||
|
String path = args[iter%args.length];
|
||||||
|
if (path.startsWith("rsrc/")) {
|
||||||
|
path = path.substring(5);
|
||||||
|
}
|
||||||
|
Image image = null;
|
||||||
|
try {
|
||||||
|
image = imgr.loadImage(path);
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
ioe.printStackTrace(System.err);
|
||||||
|
System.exit(-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// try {
|
||||||
|
// FileInputStream fin = new FileInputStream("image.dat");
|
||||||
|
// BufferedInputStream bin = new BufferedInputStream(fin);
|
||||||
|
// ObjectInputStream oin = new ObjectInputStream(bin);
|
||||||
|
// image = (Image)oin.readObject();
|
||||||
|
// System.out.println(image);
|
||||||
|
|
||||||
|
// } catch (ClassNotFoundException cnfe) {
|
||||||
|
// cnfe.printStackTrace(System.err);
|
||||||
|
// System.exit(-1);
|
||||||
|
|
||||||
|
// } catch (IOException ioe) {
|
||||||
|
// ioe.printStackTrace(System.err);
|
||||||
|
// System.exit(-1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
long elapsed = System.currentTimeMillis() - start;
|
||||||
|
|
||||||
|
System.err.println("Loaded " + args.length + " images a total of " +
|
||||||
|
IMAGE_LOAD_ITERS + " times in " + elapsed + "ms.");
|
||||||
|
System.err.println("An average of " + (elapsed/IMAGE_LOAD_ITERS) +
|
||||||
|
"ms per image.");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static final int IMAGE_LOAD_ITERS = 100;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user