2 Emac with different Ram

I have two G4 Emacs, both running 10.4.8
The only difference is that Emac 1 has a 1 ghz processor and Emac 2 has a 1.25 ghz processor.
Both have 1 GB of ram.
Surprisingly, Emac 1, the slower 1 ghz processsor, actually works much better with Final Cut Express 3.5
I just discovered that their ram is different.
Emac 1 has type SDRAM while Emac 2 has type DDR SDRAM
Also, Emac 1 has ram with speed PC133U-33, while Emac 2 has PC2700U-25330
Could the ram in Emac 2 possibly be the wrong kind which would maybe explain why it works slower??

Roam, Thanks for the good info. Both computers have their FCE movie files on an external FW drive. I'll try defraghmenting the seemingly slower one.
Hi fay
Your eMac 1 would be an eMac (ATI Graphics) the same
model that I have, and your eMac 2 would be an eMac
(USB 2.0)
eMac (ATI Graphics)
PC 133 SDRAM :bus speed 133: L2 256KB
eMac (USB 2.0)
PC 2700 SDRAM:bus speed 167: L2 512KB
PC 2700 is also known as DDR (Double data rate)SDRAM
because it cycles faster to achieve the higher bus
speed.
the 33 and 25330 appended at the end are references
to 3.3V and 2.5V or 3.3V
So the RAM's are correct, but your eMac (USB 2.0)
should be faster for three reasons, faster CPU,
faster bus, and a larger L2 cache.
The performance difference therefore must be because
of different software configuration, which shows how
important that is in getting the most out of your
computer.
regards roam

Similar Messages

  • PM8M-V compatibility problems with different rams?

    hi, can anyone help? i'm having problems with two rams...as one is a geil 512 DDR3200 ram and the other a kingston 256 DDR3200 ram. problem is the first boot is ok as bios detects both rams...but after shutting down and restarting again, the system only detects the 256ram... but if i only put the 512, its ok on its on. if the 256, its ok on its own too...but if both, the it won't boot up or sometimes if i'm lucky it only detects the 256 if both is in...any suggestions?
    RIG:
    P4 3.2Ghz
    Geil 512 DDR3200
    Kingston 256 DDR3200
    SATA II Western Digital 120GB

    sadly with only 2 dimms...it doesn't really work...so how? sigh...i don't think the seller will allow a change don't they?
    P/s oh ya i happen to notice that ya kingston ram is at 380mhz? err in my bios its only at a auto mood of 200mhz...is that ok?

  • Mixing Ram with different CAS latencies in K7n2 Delta-L?

    I have been using 512mb Kingston Value Ram in my computer, pc3200, with CAS latency of 3.0.   I just purchased some Corsair value select 512mb ram pc3200 with CAS latency of 2.5.   I know you are not supposed to mix ram with different speeds (like 400 vs. 333) but does it matter if the CAS latencies are different?  
    I'm running an AMD XP 1800+, K7n2 delta-L, nforce2 motherboard from MSI.  Someone at a computer shop told me they tried mixing Kingston 3.0 CAS with Corsair 2.5 CAS, and said his computer wouldn't even post.  So I'm wondering if this is an isolated problem, or you will always run into this problem if you mix ram with different CAS latencies.
        If anyone has experience with this issue, please share with the board.  Thanks!
    Chris

    The age old question, will the components I bought be compatible ? There are those that have bought identical matching memory that didn't work. In my case, I had an ECS K7S5A that used PC2100 Crucial memory, the sticks neither matched (at one time they did, but one stick died and they sent me the closest thing they had.). Neither of these Crucial sticks was identified by a configurator as being compatible with the K7N2 Delta L that I decided to buy. In the end, not only did both sticks work, but I put them in as single channel mode (ram slots 1 & 2), but later changed the configuration to dual channel mode (ram slots 1 & 3, even 2 & 3). It worked flawlessly in all three configurations. Sorry for the long answer, but in essence, there are no guarantees and your worries will drive you crazy. When memory is mixed, you reduce the likelihood of compatibility, even when you go beyond the recommended products that were specifically identified.
    That guy at the computer shop, did he ever indicate or isolate the true reason why the memory wouldn't work ? Maybe, maybe not. I would think with a disparity in memory, the bios is the key to setting the settings for the worst stick of the bunch. Then again, the products you get might overclock to what the better sticks run at. My assumption is that mixed sticks, the bios retards settings to this in "auto" mode. When you force it manually, it may work or it may fail. One thing you oughta know, each and every stick has the manufacturers id encoded onto them at the very least, just like the firmware on other items indicates a manufacturer code and other data that allows these things to be compatible. So know you face that battle going in with any of them. If the bios programming doesn't allow it to work, from that perspective, there'll be problems.

  • I have two different emacs with two slightly different problems

    Hello,
    I just recently got three emacs in used condition. One works perfectly (I'm typing from it right now), but the other two are giving me problems, and I'm not sure what could be causing the problems.
    The first one takes a long time to load into Mac OS X 10.4, and when it does, it doesn't seem to recognize any of my usb devices.
    The second one usually freezes at a blue screen, but sometimes, it will get to the desktop, which is possibly frozen as well, because my usb keyboard and mouse do not work on this one as well.
    What can I narrow these problems down to?
    Thanks
    Nami

    Welcome!
    The first step with used eMacs that act out is to see if they fall in a range of machines that had a near-fatal logic board defect. This affects 1.0G and 1.25Ghz eMacs with USB 2.0 logic boards. The easiest way to check is to see if the computers' serial numbers fall in any of these ranges:
    G8412xxxxxx- G8520xxxxxx
    YM412xxxxxx - YM520xxxxxx
    VM440xxxxxx - VM516xxxxxx
    If so, there is little an individual can do to correct the problem as it requires a new logic board or, at least, skill in removing and replacing small logic board components.
    The number can be found inside the optical bay door:
    NOTE: If the computer is an Apple refurbished unit, the serial number will start with "R" or "RM" and the above number ranges cannot be used to to identify a potentially defective logic board.
    If you live on the West Coast of the United States, there is a shop in Eugene, OR, that used to offered an affordable LB repair that corrects the issue, If you're not close to Oregon, the cost of shipping a 50-pound computer can double the cost of the repair.
    So, basically, the first thing is to see if this condition exists before investing more time (or money).

  • Path Finder in a 2D Grid Map With Different Terrain Types

         I have been thinking for a while on path finding game algoritms and I can up with one idea witch I want to publish. The goal of my project is when I have a 2 dimensional grid map where squares can have different movement cost, like in Civilization II, to find the shortest way from one point in the map to another. I've used the Breathed First Search Engine. If you are not familiar to this search engine it is better to read about it first because I am not fcusing on it and I assume that you now how it works. You can read about it at the book "Practical Artificial Intelligence Programming in Java" writen by Mark Watson, witch is freely distributed at www.markwatson.com.
         Actually the idea of this 2D grid path finder is to use a third dimension witch have a size equal to the highest movement cost among all terrain types. This helps solving the problem with the different movement cost of the squates. By adding this abstract third dimension it is posible to use the Breadth First Search Engine.
         I this example the movementcost of a terrain type is always the same, no matter from witch square to with are you going (like in Civilization II but I haven't included roads or railroads). For example if you want to go from one square A to another square B with movement cost X (A and B are attached) you must go "up stairs" in the third dimension X - 1 times and then move to square B. But when you step on square B you are again at the lowest floor. So if you want to come back to the previous square A and it have movement cost Y first you must go floor Y and then jump in square A. And now you are again at the lowest floor at square A. When you move from one square to another you go always at the lowest floor. This is the way I handle with different movement costs.
         When you find the path to the goal point it is in 3 dimensions. So you must just project it in the 2D map and that's all you have the shortest path.
         I am sure this is not the best way to code this search engine but this is just the first scratch with no optimisation and so on. If I make a 100x100 randomly generated map it takes on my configuration(400Mhz Pentium II CPU with ASUS P2B MotherBoard on 100 MHz and 256 MB SD RAM on 133 MHz but because of my MB on 100MHz) around 1000 miliseconds (1000 miliseconds = 1 second) to find the shortest path from (1, 1) to (100, 100) witch is pretty good compare to the goTo function in Civilization II witch does not finds the shortest path at all and have made hundrets of gamers angry. This is amazing that nowadays there are so many games with bad path finding.
         This project includes:
    1. The PathFinder class witch does the jub.
    2. The Map class witch has a generator for a random map in it.
    3. The class TerrainType, every square on the map is based on this class.
    4. The class TerrainTypes witch is the set of all terrain types used in the map.
    5. The class PathFinderTest witch just test the path finder.
    To test this project put all files in one directory and run PathFinderTest.java.
    Map.java:
    import java.util.Vector;
    import java.util.Random;
    //This class just creates a random map and keeps it. I will not comment on this.
    class Map {
      //here is kept the information about the terrain types placed in the map. Where
      //every terrain type has a specific movement cost.
      private int[][] terrain;
      public TerrainTypes terrainTypes;
      private int landMass;
      private int width;
      private int height;
      private int highestMovementCost;
      public Map(int aWidth, int aHeight) {
        width = aWidth;
        height = aHeight;
        terrainTypes = new TerrainTypes();
        highestMovementCost = terrainTypes.getHighestMovementCost();
        terrain = new int[width][height];
        landMass = 0;
        generateRandomMap();
      public void clearGoalAndStartLocFromWater(int sx, int sy, int gx, int gy) {
        terrain[gx][gy] = 0;
        terrain[sx][sy] = 0;
      private void expandWater() {
        int waterConstant = 40;
        int waterExpansion = 2;
        int[][] moreWater = new int[width][height];
        Random randomizer = new Random();
        for (int t = 0; waterExpansion > t; t++) {
          for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
              if (i + 1 >= 0 && j >= 0 && i + 1 < width && j < height) {
                if (terrain[i + 1][j] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i + 1][j] = 1;
              if (i + 1 >= 0 && j - 1 >= 0 && i + 1 < width && j - 1 < height) {
                if (terrain[i + 1][j - 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i + 1][j - 1] = 1;
              if (i >= 0 && j - 1 >= 0 && i < width && j - 1 < height) {
                if (terrain[i][j - 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i][j - 1] = 1;
              if (i - 1 >= 0 && j - 1 >= 0 && i - 1 < width && j - 1 < height) {
                if (terrain[i - 1][j - 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i - 1][j - 1] = 1;
              if (i - 1 >= 0 && j >= 0 && i - 1 < width && j < height) {
                if (terrain[i - 1][j] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i - 1][j] = 1;
              if (i - 1 >= 0 && j + 1 >= 0 && i - 1 < width && j + 1 < height) {
                if (terrain[i - 1][j + 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i - 1][j + 1] = 1;
              if (i >= 0 && j + 1 >= 0 && i < width && j + 1 < height) {
                if (terrain[i][j + 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i][j + 1] = 1;
              if (i + 1 >= 0 && j + 1 >= 0 && i + 1 < width && j + 1 < height) {
                if (terrain[i + 1][j + 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i + 1][j + 1] = 1;
        for (int i = 0; i < width; i++) {
          for (int j = 0; j < height; j++) {
            if (moreWater[i][j] == 1) {
              terrain[i][j] = 4;
      private void generateRandomMap() {
        Random randomizer = new Random();
        for (int i = 0; i < width; i++) {
          for (int j = 0; j < height; j++) {
            if (randomizer.nextInt(3) == 1)
              terrain[i][j] = 0;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 1;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 3;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 2;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 2;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 1;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 3;
            else
              terrain[i][j] = randomizer.nextInt(5);
        expandWater();
        for (int i = 0; i < width; i++) {
          for (int j = 0; j < height; j++) {
            if (terrain[i][j] != 0)
              landMass++;
      public int getMapHeight() {
        return height;
      public int getMapWidth() {
        return width;
      public int getSquareID(int x, int y) {
        return terrain[x][y];
      public int getSquareMovementCost(int x, int y) {
        return terrainTypes.getMovementCost(terrain[x][y]);
    }PathFinder.java:
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Vector;
    public class PathFinder {
      private BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
      //The array t3D[][] represents the 2D square map where t3D.leght = map width
      //and t3D[x].lenght = map width (-1 < x < t3D.leght). The third dimension
      //is refered to the square's movement cost, witch is definite by terrain.
      //The fourth dimension will be with lenght = 3. When running the search engine
      //(expanding the explored squares) this 3 values will keep the position of
      //the previous square in 3 dimension, witch are width, height and the maximum
      //movement cost among all squares.
      private int[][][][] squares3DReference;
      //Keeps information witch squares are visited.
      private boolean[][][] visitedSquares;
      private Map map;
      //this is the queue used in the Breathed First Seatch.
      private Vector queue3D;
      //Here is saved the shortest path
      private Vector path2D;
      private int highestMovementCost;
      public PathFinder(Map aMap) {
        map = aMap;
        queue3D = new Vector();
        path2D = new Vector();
        squares3DReference = new int[map.getMapWidth()][map.getMapHeight()][][];
        visitedSquares = new boolean[map.getMapWidth()][map.getMapHeight()][];
        highestMovementCost = map.terrainTypes.getHighestMovementCost();
        buildAbstract3DTerrain();
      private void buildAbstract3DTerrain() {
        for (int x = 0; x < map.getMapWidth(); x++) {
          for (int y = 0; y <map.getMapHeight(); y++) {
            int movementCost = map.terrainTypes.getMovementCost(map.getSquareID(x, y));
            if ( movementCost > 0) {
              visitedSquares[x][y] = new boolean[highestMovementCost];
              squares3DReference[x][y] = new int[highestMovementCost][3];
              for (int z = 0; z < highestMovementCost; z++) {
                for (int t = 0; t < 3; t++) {
                  squares3DReference[x][y][z][t] = -1;
      private boolean isMoveValid(int x, int y, int z, int x2, int y2, int z2) {
        if ( x < 0 || y < 0 || z < 0 || x2 < 0 || y2 < 0 || z2 < 0 || x >= map.getMapWidth() || y >= map.getMapHeight() || z >= highestMovementCost ||  x2 >= map.getMapWidth() || y2 >= map.getMapHeight() || z2 >= highestMovementCost)
          return false;
        if (map.terrainTypes.getMovementCost(map.getSquareID(x2, y2)) < 1)
          return false;
        if (visitedSquares[x2][y2][z2])
          return false;
        if (x == x2 && y == y2)
          return true;
        else {
          if (z == map.terrainTypes.getMovementCost(map.getSquareID(x2, y2)) - 1)
            return true;
          else
            return false;
      private void clearPreviousSearchData() {
        queue3D.clear();
        path2D.clear();
        for (int x = 0; x < map.getMapWidth(); x++) {
          for (int y = 0; y < map.getMapHeight(); y++) {
            if (squares3DReference[x][y] != null) {
              for (int z = 0; z < highestMovementCost; z++) {
                visitedSquares[x][y][z] = false;
                for (int t = 0; t < 3; t++) {
                  squares3DReference[x][y][z][t] = -1;
      private Vector copyPath2D() {
        Vector path = new Vector();
        for (int i = 0; i < path2D.size(); i++) {
          path.add(path2D.get(i));
        return path;
      public Vector findPath(int sX, int sY, int gX, int gY) {
        int head = 0;
        int tail = 0;
        int x = sX;
        int y = sY;
        int z = 0;
        visitedSquares[x][y][z] = true;
        mainLoop: {
          while (tail <= head) {
            int[][] moves = getPosibleMoves(x, y, z);
            for (int i = 0; i < 9; i++) {
              if (moves[i] != null) {
                squares3DReference[moves[0]][moves[i][1]][moves[i][2]][0] = x;
    squares3DReference[moves[i][0]][moves[i][1]][moves[i][2]][1] = y;
    squares3DReference[moves[i][0]][moves[i][1]][moves[i][2]][2] = z;
    queue3D.add(moves[i]);
    if (moves[i][0] == gX && moves[i][1] == gY) {
    break mainLoop;
    visitedSquares[moves[i][0]][moves[i][1]][moves[i][2]] = true;
    head++;
    if (queue3D.size() == 0 || queue3D.size() == tail)
    break mainLoop;
    int[] nextInQueue = ((int[]) queue3D.get(tail));
    x = nextInQueue[0];
    y = nextInQueue[1];
    z = nextInQueue[2];
    tail++;
    if (squares3DReference[gX][gY][0][0] == -1) {
    clearPreviousSearchData();
    return path2D;
    fillpath2D(sX, sY, gX, gY);
    Vector path = copyPath2D();
    clearPreviousSearchData();
    return path;
    private int[][] getPosibleMoves(int x, int y, int z) {
    int[][] moves = new int[9][3];
    if (isMoveValid(x, y, z, x + 1, y, 0)) {
    moves[0][0] = x + 1;
    moves[0][1] = y;
    moves[0][2] = 0;
    else
    moves[0] = null;
    if (isMoveValid(x, y, z, x + 1, y - 1, 0)) {
    moves[1][0] = x + 1;
    moves[1][1] = y - 1;
    moves[1][2] = 0;
    else
    moves[1] = null;
    if (isMoveValid(x, y, z, x, y - 1, 0)) {
    moves[2][0] = x;
    moves[2][1] = y - 1;
    moves[2][2] = 0;
    else
    moves[2] = null;
    if (isMoveValid(x, y, z, x - 1, y - 1, 0)) {
    moves[3][0] = x - 1;
    moves[3][1] = y - 1;
    moves[3][2] = 0;
    else
    moves[3] = null;
    if (isMoveValid(x, y, z, x - 1, y, 0)) {
    moves[4][0] = x - 1;
    moves[4][1] = y;
    moves[4][2] = 0;
    else
    moves[4] = null;
    if (isMoveValid(x, y, z, x - 1, y + 1, 0)) {
    moves[5][0] = x - 1;
    moves[5][1] = y + 1;
    moves[5][2] = 0;
    else
    moves[5] = null;
    if (isMoveValid(x, y, z, x, y + 1, 0)) {
    moves[6][0] = x;
    moves[6][1] = y + 1;
    moves[6][2] = 0;
    else
    moves[6] = null;
    if (isMoveValid(x, y, z, x + 1, y + 1, 0)) {
    moves[7][0] = x + 1;
    moves[7][1] = y + 1;
    moves[7][2] = 0;
    else
    moves[7] = null;
    if (isMoveValid(x, y, z, x, y, z + 1)) {
    moves[8][0] = x;
    moves[8][1] = y;
    moves[8][2] = z + 1;
    else
    moves[8] = null;
    return moves;
    private void fillpath2D(int sX, int sY, int gX, int gY) {
    int[] gLoc = {gX, gY};
    path2D.add(gLoc);
    int x = gX;
    int y = gY;
    int z = 0;
    while (x != sX || y != sY) {
    int x2 = squares3DReference[x][y][z][0];
    int y2 = squares3DReference[x][y][z][1];
    int z2 = squares3DReference[x][y][z][2];
    x = x2;
    y = y2;
    z = z2;
    if (z == 0) {
    int[] loc = {x, y};
    path2D.insertElementAt(loc, 0);
    PathFinderTest.java
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Vector;
    public class PathFinderTest {
      static BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
      static Map map;
      static int startX;
      static int startY;
      static int goalX;
      static int goalY;
      public static void main(String[] args) throws Exception {
        System.out.print("Enter map size.\nx = ");
        int width = Integer.parseInt(consoleReader.readLine());
        System.out.print("y = ");
        int height = Integer.parseInt(consoleReader.readLine());
        System.out.print("Enter strting location.\nx = ");
        startX = Integer.parseInt(consoleReader.readLine()) - 1;
        System.out.print("y = ");
        startY = Integer.parseInt(consoleReader.readLine()) - 1;
        System.out.print("Enter goal location.\nx = ");
        goalX = Integer.parseInt(consoleReader.readLine()) - 1;
        System.out.print("y = ");
        goalY = Integer.parseInt(consoleReader.readLine()) - 1;
        if (goalX < 0 || goalY < 0 || startX < 0 || startY < 0 || goalX >= width || goalY >= height || startX >= width || startY >= height) {
          System.out.println("Invalid parameters found. Program will exit");
          System.exit(0);
        map = new Map(width, height);
        map.clearGoalAndStartLocFromWater(startX, startY, goalX, goalY);
        printSolution(new Vector());
        PathFinder pathFinder = new PathFinder(map);
        long before = System.currentTimeMillis();
        Vector path = pathFinder.findPath(startX, startY, goalX, goalY);
        long after = System.currentTimeMillis();
        long time = after - before;
        printSolution(path);
        if (path.size() == 0)
          System.out.println("No path found.");
        else
          System.out.println("Path found.");
        System.out.println("Finding the path took " + time + " milliseconds");
      static void printSolution(Vector path) {
        boolean[][] pathOnMap = new boolean[map.getMapWidth()][map.getMapHeight()];
        for (int i = 0; path.size() > i; i++) {
          int[] move = (int[]) path.get(i);
          pathOnMap[move[0]][move[1]] = true;
        for (int y = 0; y < map.getMapHeight(); y++) {
          for (int x = 0; x < map.getMapWidth(); x++) {
            System.out.print(" ");
            if (pathOnMap[x][y] == false)
              System.out.print(" ");
            else
              System.out.print("0");
            if (x == startX && y == startY)
              System.out.print("S");
            else if (x == goalX && y == goalY)
              System.out.print("G");
            else
              System.out.print(map.terrainTypes.getNameFirstLetter(map.getSquareID(x, y)));
          System.out.println();
        System.out.println();
    }TerrainType.java:
    public class TerrainType {
      private int movementCost;
      private String name;
      TerrainType(int aMovementCost, String aName) {
        movementCost = aMovementCost;
        name = aName;
      public int getMovementCost() {
        return movementCost;
      public String getName() {
        return name;
      public String getNameFirstLetter() {
        return name.substring(0, 1).toUpperCase();
    }TerrainTypes.java:
    import java.util.Vector;
    public class TerrainTypes {
      //Here are saved the terrain types with the map has. ElementAt 'i' in
      //setOfTypes is represented by the number in Map.terrain[x][y] witch is
      //equal to i, were x, y are random integer as soon as they do not
      //throw ArrayIndexOutOfBoundsException. Actually this is a coding to know
      //a specific square in the map to witch terrain type is refered in setOfTypes.
      private Vector setOfTypes;
      public TerrainTypes() {
        setOfTypes = new Vector();
        setOfTypes.add(new TerrainType(1, "Plains"));
        setOfTypes.add(new TerrainType(2, "Forst"));
        setOfTypes.add(new TerrainType(3, "Jungle"));
        setOfTypes.add(new TerrainType(4, "Mountain"));
        setOfTypes.add(new TerrainType(-1, "X"));
      public int getMovementCost(int i) {
        return ((TerrainType) setOfTypes.get(i)).getMovementCost();
      public String getName(int i) {
        return ((TerrainType) setOfTypes.get(i)).getName();
      public String getNameFirstLetter(int i) {
        return ((TerrainType) setOfTypes.get(i)).getNameFirstLetter();
      public int getHighestMovementCost() {
        int max = 1;
        for (int i = 0; setOfTypes.size() > i; i++) {
          int movementCost = ((TerrainType) setOfTypes.get(i)).getMovementCost();
          if ( movementCost > 0) {
            if (max < movementCost)
              max = movementCost;
        return max;
    }I hope this program will be helpful.
    Sogartar

    Why is such a smart guy like you not using A*
    It is a general known algorithm which will find the
    optimal solution in a finite search-space (within a minimal time).
    The calculation time for the A* algorithm is influenced by two parameters:
    1 - cumulative cost
    2 - minimal expected additional cost
    The calculation of these two costs has a great influence on the
    solution.
    I think the actual problems most games experience with shortest path calculatoin are
    1 - very little time to spent calculating the shortest path
    The quickest solution might be the best for the game
    If your solution takes 1 second for the calculation of a path for one element on the board (100x100)
    What would it take for the game to calculate the path for all elements controlled by the computer ??
    If the computer controls two players which each have 50 elements to control, it would take forever...
    Don't even consider the usage of a larger board (200x200 would take 4 seconds/element when
    algorithm has complexity O(n))
    2 - low priority.
    Users tend to forgive a bad shortest path-algorithm most of the time,
    but not a bad display, bad pictures,...
    This is why most shortest-path algorithms within games were
    developed as a depth first search,
    within some earlier games this was even developed as
    a rule which went straight to the endlocation and
    takes a right/left turn when blocked by water/wall/...
    So the actual steps you should take are:
    1 - develop a normal breath-first search (to get going)
    2 - develop a normal depth-first search (to compare speed and solution with)
    3 - develop a normal dijkstra algorithm (sometimes called A)
    4 - develop a best first algorithm (called A*)
    5 - develop other AI-algorithms building upon A* (tabu-search, limited memory A*,...)
    6 - develop some other AI-algorithms (Genetic Algorithms, Simulated Annealing,...)
    7 - compare and tweak/change all search-algorithms for
    7 - a - size of maps (small versus huge)
    7 - b - optimality of the solution
    7 - c - actual usage for your game
    8 - !!! very important !!!
    Share the developed path algorithms along with remarks about speed, map-size,...
    with the rest of us. I would be very interested in such library.
    kind regards,

  • Multiple oracle database instances with different characterset on  the same server

    Hello,
    Is it possible to have 2 database instances running with different charactersets,one with AL32UTF8 and the other with WE8MSWIN1252.?
    Are there any setup requirements to be performed prior to setting up the database instances?
    The 3rd party utility that we want to use does not support AL32UTF8 and insists on using a database with character set WE8MSWIN1252.
    Kindly help.
    Thanks,
    Ram.

    Hello Zhe,
    I guess I posted my question in a wrong forum.  I tried my best to find a suitable forum and thought this was the best and closest I found.  Apparently not.  Can you please let me know the right forum for my question?
    The below is the breif of what we are currently facing:
    We are in the process of finalizing plans to install Automic for our Retail applications to schedule jobs.  In the process came to know that Automic does not support AL32UTF8.
    Right now we have RMS and UC4 (now called Automic) run on the database server as UC4 supports AL32UTF8 and schema for UC4 is inside the RMS database.
    Going forward it is recommended to have a separate database instance on the same server as that of RMS database and with a different characterset which is WE8MSWIN1252.
    Please let me know what forum to post in, I will repost the question.
    Thanks,
    Ram.

  • Will there be a bottleneck with 16GB RAM and 32 threads CPU?

    And if so how much of a bottleneck? Is it worth the money to upgrade to 48GB? I have 8x2GB in the HP Z820, but was thinking of getting more RAM from Mr Memory that is compatible with the Z820 for much cheaper than what HP are selling HP branded ram for. I was looking at 8x4GB for around £344 to make 48GB. Is it risky going unbranded or do people do this a lot?
    Thanks
    Costa

    HP can list that it's an option that doesn't mean it's recommended or the best way to do it without having issues. Since the ram controller was moved to the CPU, trying to run asynchronous timings on system boards with Quad channel is asking for problems. If you call the ram manufacturers they wont recommend it with their ram and likely wont support it if they have any clue. Due to how the ram market is so volatile and dimm modules change ram chips from 1 production run to the next , you cant even run 2 different sets of the same model of ram with different manufacturer chips on the dimms. The ram companies will tell you that you need to change them out. I have been dealing with all of the ram variables since tri-channel started on the I7 Gen 1 platform and it only gets more complex with Quad channel. We have our ram custom made just to ensure we have the same manufacturer chips on our dimms regardless of the production along with the same stepping of construction until the wafer has to change. There are far more timings than CAS rating and the most important to compatibility are the sub timings which the manufacturer does not list. HP also can say they only want Grade 1A ram modules for their dimms which is why they are more expensive while that ram manufacturer will use other grades for their own branded ram. Those modules will not work together most of the time if at all. Do what you will but dont say you were not warned. Much of this information is not available to anyone unless they talk to the Engineers over in TW that deal with the dram chip fabs.
    Eric
    ADK

  • InDesign CS5.5 Out of memory error on a i7 2.8ghz imac with 12GB RAM

    http://forums.adobe.com/message/4605576#4605576
    this is the post that has much of the same issue but my difference is that i am on Indesign 5.5.
    To shed some more insight, I am trying to make a press quality PDF direct from Indesign.
    I have 2 pages in my document, I was able to get one page PDFed buth the larger was not able to.

    Why won't it PDF? What error is it showing? Do other presets work? What does your layout look like?
    Have you tried removing elements one at a time and exporting it and seeing which element is causing the issue?
    Have you got images on the page - perhaps resaving them to a different format and relinking them will help?
    I sincerely doubt it's out of memory, seen as I work on a computer with 3gb RAM and a Intel Core 2 2.13ghz processor and I never get that issue.

  • Wny does ACR 7.3 open a .JPG with different dimensions than PS 13.0.1 x64?

    I have a .jpg file that opens in Photoshop 13.0.1 x64 as an image with dimensions of 5588 x 4627 pixels. If I set Photoshop to open it in ACR 7.3 it opens with dimensions 4453 x 4418 with the image looking squished horizontally and cropped at the top.
    I captured the image on a Nikon D600. I developed the NEF with DxO Optics Pro 8.1.1 and output a TIFF. I opened the TIFF in Photoshop (without using ACR) and did my editing including  some transformation to create mirrored wrap for a canvas. There are versions saved as PSDs. I resized the image for output and used PS to create a JPG. That JPG causes the strange (to me) behavior when Photoshop tries to open the file.
    I used the same PSD to create multiple JPGs with differing levels of quality (varyiing from 9MB to 27MB). Photoshop exhibits the same behavior on all of them.
    If I process the JPG thruough ACR, the resultant image retains the bad dimensions and distortions.
    The Adobe "chat" preresentative said this was expected behavior in a 2+ hour chat. He/she said that they were able to replicate the different dimensions on their end with their images.
    Does anyone know if this is normal behavior? If so, why?
    Has anyone experienced something similar?
    Thanks,
    Joe
    I am running this on Win7 x64 Home Premium with 8 GB RAM. I also have LR 4.3 installed on the computer and previously used it to process the same NEF file.

    I sent the JPG to a service for a print on canvas. They reported that the image was not the proper size and shape when they opened it in Photoshop. Unfortunately I have not been able to get them to tell me what pixel size it was, just rough inches (!?!?!). So I started trying things in Photoshop and came up with this strange behavior that might explain the problem at the service.

  • Help Migrating from eMac with 10.4 to Mac Mini with 10.5.8

    Hi All,
    I'm stumped. My friend has an old eMac with 10.4 on it, and when I upgraded my machine from a Mac Mini, I decided to donate it to her. I thought I'd be able to use Migration Assistant, but it apparently needs at least 10.5 on both machines. I tried to upgrade her eMac to 10.5, but it's so old and clunky, it just freezes when you try (it's only got 256MB of RAM).
    Any ideas? Since there's no time machine on 10.4, that's not an option - but she does have an external hard-drive that I could use.
    Thanks all -

    Erase and install the Mac Mini and then when prompted at restart tell it to import the data from the eMac - it should just work. It is always better to erase and install if you get a second hand machine anyway both for security purposes (for the old user) and also to ensure that none of the stuff left behind by the previous user will interfere with your usage of your new Mac

  • Hermes 650 system locks up with 2GB RAM, 1GB OK

    I have a Hermes 650 system that keeps locking up when system is upgraded to 2GB RAM.  System runs fine with 1GB RAM installed.  I tried 2 different brands of 1GB sticks, but same problem.

    This is a very old barebones, unfortunately memory support is described as "up to 2GB" and as 1GB sticks weren't commonplace at the time, its possible it might just not work.
    1GB should be plenty enough for what this system can handle though.
    Have you tried testing the sticks with >>Memtest86<<?

  • Just purchased a new mac mini 3GHz Intel Core i7, with 16GB ram version 10.10.1. With it i purchased a new wireless keyboard. All of a sudden I was not able to use the #1 key. I thought I had a defected newly purchased keyboard. I pulled out my older

    Just purchased a new mac mini 3GHz Intel Core i7, with 16GB ram version 10.10.1. With it i purchased a new wireless keyboard. All of a sudden I was not able to use the #1 key. I thought I had a defected newly purchased keyboard. I pulled out my older wireless keyboard, and the same thing happened. It must not be the keyboard if it happened to two different keyboards. I have a habit of restarting my computer, when things don't work, I find it helps, and sure enough, everything works. Today, it happened again. Does anyone know what is causing this to happen?

    Try resetting the SMC and PRAM
    Intel-based Macs: Resetting the System Management Controller (SMC)
    About NVRAM and PRAM
    Try reinstalling Yosemite with out losing stuff. See:
    OS X Yosemite: Reinstall OS X

  • IMac G5 17" won't boot with new RAM

    I tried to install 2 GB RAM into an iMac G5 17" - the computer won't boot at all. The sticks are fine (DDR PC3200 - tried them in a different computer), I reset the PRAM, all to no avail. With the original 256 MB stick, it boots fine, but with the new sticks in either slot or together, all I get is a black screen, no tone, and the fan goes on high. The firmware is up to date. What next?

    I have a similar issue with my i5 since installing an additional 4GB (2x2GB) RAM from OWC. It runs fine normally, but if I ever need to reboot the iMac, it usually hangs at a black screen and never chimes. I have to pull the RAM, reset them and then it'll boot. I wonder if there is some timing tolerance problem with mixing RAM (with Apple's Samsung pair).
    This morning (after installing 10.6.6) it wouldn't come out of sleep and I had to pull the RAM again. That's actually the first time it wouldn't come out of sleep.

  • HT1651 I have a 2008 mac book....with 1GB 667hz DDR2 RAM 1GB each....I want to upgrade it with DDR3 Rams 2GB each, it is possible?

    I have a 2008 mac book....with 1GB 667hz DDR2 RAM 1GB each....I want to upgrade it with DDR3 Rams 2GB each, it is possible?

    No, the two RAM types are different, and the architecture has to specifically be able to interface with it. You can upgrade to 2x2GB of DDR2 memory, for a total of 4GB.

  • Is the apple laptop with 4gb ram and i5 better than other laptop with 6gb ram and i5

    is the apple laptop with 4gb ram and i5 better than other laptop with 6gb ram and i5

    Well it depends on the age.     http://www.everymac.com/ should help you identify the age of the two models.
    Apple may use two processors called i5, but newer models have different optimizations than older models.
    The processor is usually not the main affect on speed.  RAM helps, but barely unless everything is on an SSD already.   Hard drive speed is usually the limiting factor of speed on computers.   eSATA hard drives with higher RPM can often yield the fastest results because notebook hard drives tend to be slower that are not SSD, but for those you need either Express/34 or Thunderbolt based adapters.

Maybe you are looking for

  • How to edit the format of the existing template???

    hi, i have created a report using report builder, i used the same template format in the report builder, if i have to change the format for eg. Logo, font from where i can do this????

  • F.05 Error 806 on Reverse Postings in SAPF100

    Hello, When I run F.05 (in test environment) current period postings complete ok, but I get Error 806 on my reverse postings. Has anyone seen this error and know what causes it?  I have verified that the next posting period is open and that reverse p

  • Aperture 3.03 For me preview generation performance is now even slower!

    Set up: 24" iMac, Intel Core 2 Duo 2.8Ghz, 4Gb RAM, Radeon HD2600 with 256Mb, 1Tb 7200 Seagate Barracuda HD. Aperture 3.03, RAW 3.02 OSX 10.6.3 With a Canon 5D Mark II RAW photo (25Mb or so) with some simple adjustments generating a preview is now ta

  • Flagging Word documents with Java???

    Hi everyone! We are currently designing an Intranet architecture in J2EE and are looking for a solution to the following problem: We are going to create a Word template which all users submitting a document must use in order for this to be accepted.

  • Xi-material

    hi     i need complete material on the xi scenarios regards reaves