Increasing Write Speeds while saving files?...

While i love Photoshop, its performance can be a huge concern. Lately, i upgraded my workstation from a 4 year old desktop and went all out...
Here are the specs of the new system.
2 x X5670 (12 Nehalem 2.93Ghz cores)
48GB of ECC RAM
3 x 50GB (raid 0 on LSI 5150 sata 3 raid card) Sandforce SSD drives that give me sequential read/write speeds of approx 800MBps.
My issue is that i hate the way photoshop writes data while saving PSD files. I cant seem to see photoshop write to disk at speeds greater than 12-15 MBps. This has become the slowest link in the entire photoshop work flow and is slowing me down considerably.
The other option i was trying to investigate is to edit loads of files and then do an equivalent of a bulk save but i cant find a trick to do that.
thoughts?

thanks Noel for the speedy response. I will admit that i oversimplified my setup but here is the full info for my setup...
I gave the save as tiff a go but DID see a dramatic increase!!
C Drive:
T Drive: 40GB Fusion i/o PCI card. Photoshop uses this as the scratch disk (under preferences --> general --> performance).
P.S: my systems temp variables (user and env) etc are all redirected to this drive.
I have a D Drive (Raid 5 across 6 x 2TB drives that i use purely for storage)
Here is what all i am doing...
Open a raw nef file,
Use define to reduce noise (automatic profile)
Use Viveza to adjust brightness/contrast/structure/warmth
save the file
These are some timings...
Loading photoshop --> 4.5 sec
Opening a D7000 16MPix raw image --> 8.5 sec (file opens in camera raw and then i click open to open in photoshop)
Times to save processed files...
PSD: 28.5 seconds!!!!
Tiff: 2.5 seconds!!! yes 2.5 seconds (you barely see it save!!)
You are the man...
i would assume that i have the CPU and RAM horsepower to have photoshop do a good job at the compression while saving but the diffrence is huge!!!
now please tell me what do i lose (if anything) in moving to the Tiff format (preserving all layers)

Similar Messages

  • I have difficulty pasting text into the file name field(prefix only) while saving files.

    OS: WinXP sp3
    FF: 3.6.3
    I have difficulty pasting text into the file name field (prefix only) while saving files. example: File name is Pic123.jpg and I want to rename it ABC123.jpg and I have ABC loaded into the WinXPsp3 clipboard. When I highlight\right-click\delete "Pic" then attempt to paste the ABC, I get either no reaction, or upon multiple paste attempts, the ABC is appended to the end of the file, after the extension, as "Pic123.jpgABC". If I delete this unwanted suffix, or repeat the process several times, eventually I can delete the unwanted portion of the prefix and paste the desired text. Sometimes it works fine first try, but mostly it takes several tries. I'm using Firefox 3.6.3 but the problem existed in whatever previous version I had too. This issue only occurs when using the delete/paste; I can always manually change the name by typing. Thank you for your help.

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe mode start window or otherwise make changes.
    *https://support.mozilla.org/kb/Safe+Mode
    A possible cause is that the server sends a wrong response header.
    The server may not comply to RFC 5987 and sends a wrong Content-Disposition:attachment; filename header.
    * https://developer.mozilla.org/en/Firefox_8_for_developers#Network

  • CAD Integration - Error While Saving file

    Hi,
    Im having One  Document type "DRW" which was working fine with all the functionalities.
    After that i created another document type "PDW". Now all the functionalities are working fine for this Document type and not for "DRW".
    Im getting an error while saving the drawing file in AutoCAD.
    For DRW Type, I can able to create a DIR. After creating DIR if i click save button im getting this error.
    RFC_SYS_EXCEPTION
    SAP RFC error
    Operation: BAPI_DOCUMENT_CHANGE2
    Group    : 104
    Key      : RFC_ERROR_SYSTEM_FAILURE
    Message  : Wrong status
    Reading titleblock data for 0000000000000010000000458/DRW/000/00...
    RFC_SYS_EXCEPTION
    SAP RFC error
    Operation: CAD_GET_TITLE_BLOCK_DATA
    Group    : 104
    Key      : RFC_ERROR_SYSTEM_FAILURE
    Message  : Wrong status
    Reading titleblock data for 0000000000000010000000458/DRW/000/00...
    RFC_SYS_EXCEPTION
    SAP RFC error
    Operation: CAD_GET_TITLE_BLOCK_DATA
    Group    : 104
    Key      : RFC_ERROR_SYSTEM_FAILURE
    Message  : Wrong status
    Reading titleblock data for 0000000000000010000000458/DRW/000/00...
    RFC_SYS_EXCEPTION
    SAP RFC error
    Operation: CAD_GET_TITLE_BLOCK_DATA
    Group    : 104
    Key      : RFC_ERROR_SYSTEM_FAILURE
    Message  : Wrong status
    Reading titleblock data for 0000000000000010000000458/DRW/000/00...
    RFC_SYS_EXCEPTION
    SAP RFC error
    Operation: CAD_GET_TITLE_BLOCK_DATA
    Group    : 104
    Key      : RFC_ERROR_SYSTEM_FAILURE
    Message  : Wrong status
    Updating document info record 0000000000000010000000458/DRW/000/00 ...
    RFC_SYS_EXCEPTION
    SAP RFC error
    Operation: BAPI_DOCUMENT_CHANGE2
    Group    : 104
    Key      : RFC_ERROR_SYSTEM_FAILURE
    Message  : Wrong status
    Command:
    Command: Conversion to JPG done.
    Checkin file into the existing storage category ZMRK ...
    E26 253 Error while checking in and storing:
    C:\SapWorkDir\AcadM\ConvertTempPath\10000000458_DR
    But there is no error in "PDW" document type.
    Anybody have any idea on this?
    Regards,
    MRK.

    Hi MRK,
    Check  the Status in DC10.
    Also make sure you have configured in dc30
    If possible send me the config file (.cfg)* to [email protected]
    I ll check n revert back...
    Have you done any settings based on document type in CFG file?
    Niranjan
    Award points if useful...
    Edited by: Niranjan Dandekar on Mar 7, 2008 1:42 PM

  • How to retain file name while saving file on archive servers

    Hi Experts,
    I am using function modules:
    ARCHIVOBJECT_CREATE_TABLE and ARCHIV_CONNECTION_INSERT for inserting a file to archive server and for linking it with a document.
    Then I am reading the URL using FM: SCMS_AO_URL_READ. When I get this URL and download that file, the file name will be always defaulted to 'pclHTTP.dll'. I debugged these FMs to a certain extent and found that this name comes from CREP_HTTP-HTTP_SCRPT table.
    Is there any way I can retain the file name while saving it so that when I read the URL it has correct file name in it?
    Please help.
    Regards,
    Anand Kolte

    Hi Max,
    In case when downloading one file it is fine. But if I want to download 10 files at once and later if I go to my downloads, every file will be having similar name. Unless we open the file, we cannot know what file it is.
    Regards,
    Anand

  • How to increase the speed of network file transfer

    hi ,
    In my application i want to use the file from one system to another system.
    i am using stream reader to get the file over the network , its working fine for small file,
    but i want to access file size exceed 10 MB then i faced the problem. Its get very slow the file transfer over the network.
    so i am try to use java NIO for transfer file,
    Using NIO , While i am make server and client both are same system then the file tranfer is 10MB file in 10 seconds , but i am making server and client are different machine then its take so long to transfer file ie (10 MB file in 3 minutes).
    I want to reduce the time . If any chance to reduced the file transfer time then please suggest me.
    my code is
    Server Code :
    public class NioServer implements Runnable {
      // The host:port combination to listen on
      private InetAddress hostAddress;
      private int port;
      // The channel on which we'll accept connections
      private ServerSocketChannel serverChannel;
      // The selector we'll be monitoring
      private Selector selector;
      // The buffer into which we'll read data when it's available
      private ByteBuffer readBuffer = ByteBuffer.allocate(10000);
      private EchoWorker worker;
      // A list of PendingChange instances
      private List pendingChanges = new LinkedList();
      // Maps a SocketChannel to a list of ByteBuffer instances
      private Map pendingData = new HashMap();
      public NioServer(InetAddress hostAddress, int port, EchoWorker worker) throws IOException {
        this.hostAddress = hostAddress;
        this.port = port;
        this.selector = this.initSelector();
        this.worker = worker;
      public void send(SocketChannel socket, byte[] data) {
        System.out.println("Server Send ");
        synchronized (this.pendingChanges) {
          // Indicate we want the interest ops set changed
          this.pendingChanges.add(new ChangeRequest(socket, ChangeRequest.CHANGEOPS, SelectionKey.OP_WRITE));
          // And queue the data we want written
          synchronized (this.pendingData) {
            List queue = (List) this.pendingData.get(socket);
            if (queue == null) {
              queue = new ArrayList();
              this.pendingData.put(socket, queue);
            queue.add(ByteBuffer.wrap(data));
        // Finally, wake up our selecting thread so it can make the required changes
        this.selector.wakeup();
      public void run() {
        while (true) {
          try {
            // Process any pending changes
            synchronized (this.pendingChanges) {
              Iterator changes = this.pendingChanges.iterator();
              while (changes.hasNext()) {
                ChangeRequest change = (ChangeRequest) changes.next();
                switch (change.type) {
                case ChangeRequest.CHANGEOPS:
                  SelectionKey key = change.socket.keyFor(this.selector);
                  key.interestOps(change.ops);
              this.pendingChanges.clear();
            // Wait for an event one of the registered channels
            this.selector.select();
            // Iterate over the set of keys for which events are available
            Iterator selectedKeys = this.selector.selectedKeys().iterator();
            while (selectedKeys.hasNext()) {
              SelectionKey key = (SelectionKey) selectedKeys.next();
              selectedKeys.remove();
              if (!key.isValid()) {
                continue;
              // Check what event is available and deal with it
              if (key.isAcceptable()) {
                this.accept(key);
              } else if (key.isReadable()) {
                this.read(key);
              } else if (key.isWritable()) {
                this.write(key);
          } catch (Exception e) {
            e.printStackTrace();
      private void accept(SelectionKey key) throws IOException {
        System.out.println("Server Accept ");
        // For an accept to be pending the channel must be a server socket channel.
        ServerSocketChannel serverSocketChannel = (ServerSocketChannel) key.channel();
        // Accept the connection and make it non-blocking
        SocketChannel socketChannel = serverSocketChannel.accept();
        Socket socket = socketChannel.socket();
        socketChannel.configureBlocking(false);
        // Register the new SocketChannel with our Selector, indicating
        // we'd like to be notified when there's data waiting to be read
        socketChannel.register(this.selector, SelectionKey.OP_READ);
      private void read(SelectionKey key) throws IOException {
        System.out.println("server Read : ");
        SocketChannel socketChannel = (SocketChannel) key.channel();
        // Clear out our read buffer so it's ready for new data
        readBuffer.clear();
    //    readFully( readBuffer , socketChannel ) ;
        // Attempt to read off the channel
        int numRead;
        try {
          numRead = socketChannel.read(readBuffer);
        } catch (IOException e) {
          // The remote forcibly closed the connection, cancel
          // the selection key and close the channel.
          key.cancel();
          socketChannel.close();
          return;
        if (numRead == -1) {
          // Remote entity shut the socket down cleanly. Do the
          // same from our end and cancel the channel.
          key.channel().close();
          key.cancel();
          return;
        // Hand the data off to our worker thread
        this.worker.processData(this, socketChannel, this.readBuffer.array(), numRead);
      private void write(SelectionKey key) throws IOException {
        System.out.println("Server Write ");
        SocketChannel socketChannel = (SocketChannel) key.channel();
        synchronized (this.pendingData) {
          List queue = (List) this.pendingData.get(socketChannel);
          // Write until there's not more data ...
          while (!queue.isEmpty()) {
            ByteBuffer buf = (ByteBuffer) queue.get(0);
            socketChannel.write(buf);
            if (buf.remaining() > 0) {
              System.out.println( "buf.remaining() " + buf.remaining() ) ;
              // ... or the socket's buffer fills up
              break;
            queue.remove(0);
          if (queue.isEmpty()) {
            // We wrote away all data, so we're no longer interested
            // in writing on this socket. Switch back to waiting for
            // data.
            key.interestOps(SelectionKey.OP_READ);
      private Selector initSelector() throws IOException {
        // Create a new selector
        Selector socketSelector = SelectorProvider.provider().openSelector();
        // Create a new non-blocking server socket channel
        this.serverChannel = ServerSocketChannel.open();
        serverChannel.configureBlocking(false);
        // Bind the server socket to the specified address and port
        InetSocketAddress isa = new InetSocketAddress(this.hostAddress, this.port);
        serverChannel.socket().bind(isa);
        // Register the server socket channel, indicating an interest in
        // accepting new connections
        serverChannel.register(socketSelector, SelectionKey.OP_ACCEPT);
        return socketSelector;
      private static void readFully(ByteBuffer buf, SocketChannel socket) throws IOException
        int len = buf.limit() - buf.position();
        while (len > 0)
          len -= socket.read(buf);
      public static void main(String[] args) {
        try {
          EchoWorker worker = new EchoWorker();
          new Thread(worker).start();
          new Thread(new NioServer(null, 9090, worker)).start();
        } catch (IOException e) {
          e.printStackTrace();
    }Client Code :
    public class NioClient implements Runnable {
      // The host:port combination to connect to
      private InetAddress hostAddress;
      private int port;
      // The selector we'll be monitoring
      private Selector selector;
      // The buffer into which we'll read data when it's available
      private ByteBuffer readBuffer = ByteBuffer.allocate( 10596 ) ;
      // A list of PendingChange instances
      private List pendingChanges = new LinkedList();
      // Maps a SocketChannel to a list of ByteBuffer instances
      private Map pendingData = new HashMap();
      private byte[] bufferByteA = null ;
      // Maps a SocketChannel to a RspHandler
      private Map rspHandlers = Collections.synchronizedMap(new HashMap());
      public NioClient(InetAddress hostAddress, int port) throws IOException {
        this.hostAddress = hostAddress;
        this.port = port;
        this.selector = this.initSelector();
      public void send(byte[] data, RspHandler handler) throws IOException {
        // Start a new connection
        SocketChannel socket = this.initiateConnection();
        // Register the response handler
        this.rspHandlers.put(socket, handler);
        // And queue the data we want written
        synchronized (this.pendingData) {
          List queue = (List) this.pendingData.get(socket);
          if (queue == null) {
            queue = new ArrayList();
            this.pendingData.put(socket, queue);
          queue.add(ByteBuffer.wrap(data));
        // Finally, wake up our selecting thread so it can make the required changes
        this.selector.wakeup();
      public void run()
        while (true)
          try
            // Process any pending changes
            synchronized (this.pendingChanges)
              Iterator changes = this.pendingChanges.iterator();
              while (changes.hasNext())
                ChangeRequest change = (ChangeRequest) changes.next();
                switch (change.type)
                  case ChangeRequest.CHANGEOPS:
                    SelectionKey key = change.socket.keyFor(this.selector);
                    key.interestOps(change.ops);
                    break;
                  case ChangeRequest.REGISTER:
                    change.socket.register(this.selector, change.ops);
                    break;
              this.pendingChanges.clear();
            // Wait for an event one of the registered channels
            this.selector.select();
            // Iterate over the set of keys for which events are available
            Iterator selectedKeys = this.selector.selectedKeys().iterator();
            while (selectedKeys.hasNext())
            System.out.println( " ----run 5 " ) ;
              SelectionKey key = (SelectionKey) selectedKeys.next();
              selectedKeys.remove();
              if (!key.isValid())
                continue;
              // Check what event is available and deal with it
              if (key.isConnectable())
                this.finishConnection(key);
              else if (key.isReadable())
                this.read(key);
              else if (key.isWritable())
                this.write(key);
          catch (Exception e)
            e.printStackTrace();
      private void read(SelectionKey key) throws IOException {
        System.out.println( "---------read 1 " ) ;
        SocketChannel socketChannel = (SocketChannel) key.channel();
        // Clear out our read buffer so it's ready for new data
        this.readBuffer.clear();
        System.out.println( "---------read 2 " + readBuffer.capacity()) ;
         readBuffer = ByteBuffer.allocate( bufferByteA.length  ) ;
        // Attempt to read off the channel
    //    int numRead;
        try {
    //      numRead = socketChannel.read(this.readBuffer);
          readFully( readBuffer , socketChannel ) ;
        } catch (IOException e) {
          // The remote forcibly closed the connection, cancel
          // the selection key and close the channel.
          key.cancel();
          socketChannel.close();
          return;
    //    if (numRead == -1) {
    //      // Remote entity shut the socket down cleanly. Do the
    //      // same from our end and cancel the channel.
    //      key.channel().close();
    //      key.cancel();
    //      return;
        // Handle the response
        this.handleResponse(socketChannel, this.readBuffer.array(), readBuffer.capacity() );
      private void handleResponse(SocketChannel socketChannel, byte[] data, int numRead) throws IOException {
        // Make a correctly sized copy of the data before handing it
        // to the client
        byte[] rspData = new byte[numRead];
        // Look up the handler for this channel
        RspHandler handler = (RspHandler) this.rspHandlers.get(socketChannel);
        // And pass the response to it
        if (handler.handleResponse(rspData)) {
          // The handler has seen enough, close the connection
          socketChannel.close();
          socketChannel.keyFor(this.selector).cancel();
      private void write(SelectionKey key) throws IOException {
        SocketChannel socketChannel = (SocketChannel) key.channel();
        readBuffer.flip() ;
        List queue = null ;
        synchronized (this.pendingData) {
          queue = (List) this.pendingData.get(socketChannel);
          writeFully( readBuffer , socketChannel ) ;
          // Write until there's not more data ...
          while (!queue.isEmpty()) {
    //        ByteBuffer buf = (ByteBuffer) queue.get(0);
    //        socketChannel.write(buf);
    //        writeFully( buf , socketChannel ) ;
    //        if (buf.remaining() > 0) {
    //          // ... or the socket's buffer fills up
    //          break;
            queue.remove(0);
          if (queue.isEmpty()) {
            // We wrote away all data, so we're no longer interested
            // in writing on this socket. Switch back to waiting for
            // data.
            key.interestOps(SelectionKey.OP_READ);
      private void finishConnection(SelectionKey key) throws IOException {
        SocketChannel socketChannel = (SocketChannel) key.channel();
        // Finish the connection. If the connection operation failed
        // this will raise an IOException.
        try {
          socketChannel.finishConnect();
        } catch (IOException e) {
          // Cancel the channel's registration with our selector
          System.out.println(e);
          key.cancel();
          return;
        // Register an interest in writing on this channel
        key.interestOps(SelectionKey.OP_WRITE);
      private SocketChannel initiateConnection() throws IOException {
        // Create a non-blocking socket channel
        SocketChannel socketChannel = SocketChannel.open();
        socketChannel.configureBlocking(false);
        // Kick off connection establishment
        socketChannel.connect(new InetSocketAddress(this.hostAddress, this.port));
    //    socketChannel.finishConnect() ;
        // Queue a channel registration since the caller is not the
        // selecting thread. As part of the registration we'll register
        // an interest in connection events. These are raised when a channel
        // is ready to complete connection establishment.
        synchronized(this.pendingChanges) {
          this.pendingChanges.add(new ChangeRequest(socketChannel, ChangeRequest.REGISTER, SelectionKey.OP_CONNECT));
        return socketChannel;
      private Selector initSelector() throws IOException {
        // Create a new selector
        return SelectorProvider.provider().openSelector();
      public static void main(String[] args) {
        try {
          NioClient client = new NioClient(InetAddress.getByName("healsoft1"), 9090);
          Thread t = new Thread(client);
          t.setDaemon(true);
          t.start();
          RspHandler handler = new RspHandler();
          client.readBytesFromFile( handler ) ;
        } catch (Exception e) {
          e.printStackTrace();
      private void readBytesFromFile( RspHandler handler ) throws IOException
        File file = new File( "Y:/output.txt") ;
        bufferByteA = getBytesFromFile( file ) ;
        readBuffer = ByteBuffer.allocate(bufferByteA.length ) ;
        readBuffer.put( bufferByteA , 0 , bufferByteA.length ) ;
        send(bufferByteA , handler);
        handler.waitForResponse();
      private static void readFully(ByteBuffer buf, SocketChannel socket) throws IOException
        System.out.println( "readFully  : " ) ;
        int len = buf.limit() - buf.position();
        int count = 0 ;
        while (len > 0)
          len -= socket.read(buf);
      private void writeFully(ByteBuffer buf , SocketChannel socketChannel) throws IOException
        System.out.println( "writeFully  : " ) ;
        int len = buf.limit() - buf.position() ;
        SocketChannel socket = socketChannel ;
        socket.open();
        while (len > 0)
          len -= socket.write(buf);
      private static byte[] getBytesFromFile(File file) throws IOException
        InputStream is = new FileInputStream(file);
        // Get the size of the file
        long length = file.length();
             * You cannot create an array using a long type. It needs to be an int
             * type. Before converting to an int type, check to ensure that file is
             * not loarger than Integer.MAX_VALUE;
        if (length > Integer.MAX_VALUE)
          System.out.println("File is too large to process");
          return null;
        // Create the byte array to hold the data
        byte[] bytes = new byte[(int)length];
        // Read in the bytes
        int offset = 0;
        int numRead = 0;
        while ( (offset < bytes.length)
                ( (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) )
                offset += numRead;
        // Ensure all the bytes have been read in
        if (offset < bytes.length)
          throw new IOException("Could not completely read file " + file.getName());
        is.close();
        return bytes;
      public static String printTimeWithMilliSec(long l )
        Date date = new Date( l ) ;
        SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss SSS");
        return f.format(date);
    }

    Data transfer rate for a single client is unlikely to be effected by using NIO or old blocking IO. The important factor is the maximum transfer rate you can get between the sender and receiver.
    You should be able to get 0.5-1.0 MB per second for each 10 Mbit per second of available bandwidth. Your timings suggest you are getting about a 10-20 Mbit/s link speed.

  • Maximum write speed to log file, trying to get a log entry every 100ms.

    I have a DAQmx application which data I want ot log. The aquistion is ran at a high speed, 1 KHz. I want to log the measurements to a text file which can read in Matlab or excel. I a wondering what the best approach is for this and what is the maximum speed.
    I have created a program below to test. But it seems that the log is not consistent at 10 Hz alread. The log interval is set to 100 ms while the loop is running at 10 ms.  If I look at the time between the sampes 6 of them are higher than the 100ms. The time between some steps is 700ms which is quite high. Is this implementation wrong or is this just due to the undeterminstic computer?

    LennartM wrote:
    But the program does not stop...It seems it is waiting on another notification to stop or something?
    That is a very likely scenario.  The simple solution here is to destroy the notifier after the top loop completes and make your bottom loop stop when there is an error from the Notifier (when it was destroyed).  That would eliminate the need for the local variable and would ensure that both of your loops stopped.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to increase write speed using queues

    Hi,
        I am using a vi to read in two sets of data over a serial port.  I then write the data to a spreadsheet.  I do this by sending the data to a queue when I depress a record data button on the vi.  The queue then  writes the data to a file in another loop.  I based this off of a producer consumer architecture.  The setup works great but I have noticed that when record data for long periods of time (2 minutes or more) it takes an extremely long time after I have stopped recording data for the information to be written to a file.  Is there anyway to improve my write to file speed?  Thanks for all of your help and I am attatching my VI.
    Solved!
    Go to Solution.
    Attachments:
    Read_Write_Transmit_Record_IMU_V_4.vi ‏89 KB

    Yes. you could definitely accumulate the data in a 2-D array in the producer.
    What I would do, since now you are adding more requirements to the code, would be to turn to add an enum along with the data you send through the queue to the consumer loop.  The enum would be commands such as Open File, close file, log data, write to file, exit loop.  Attached is an example of one I wrote that I encapsulated in a subVI that runs parallel to other code.
    Attachments:
    CTA Data Logger text.vi ‏55 KB

  • Increased Fan Speed While Playing Halo 3

    Hi Sir,
    While i was playing a demo version for Halo 3 on my macbook, the speed of the fan increased. Is that normal?
    And Do you recommend me to use the macbook to play the game or should i buy imac for it?
    With Regards
    Vikram

    Yes, high fan speed should be expected for a high demand game.
    The Fans max speed is about 6,200 RPM.
    If you would like more info about your system you can get the iStat Pro Wedget (free)
    http://www.apple.com/downloads/dashboard/status/istatpro.html
    Macs are not very good as gaming computers.
    -Mike

  • File Save dialog box not showing correct file name while saving file

    hi
    Currently, after the Submit button is hit, the File Save dialog box is displayed. If the user saves the file and then opens it then the output appears correct however if the user chooses to open the file without saving on the local machine then the correct viewer is not used to display the file. The name of the file is defaulted as qotSCopPrint.jsp and the default file viewer for jsp files is chosen to view the file. The format of the file is obviously not text (it is either pdf or rtf) so the output shows binary characters.

    data : v_repid like sy-repid.
    parameters : p_file like rlgrap-filename.
    initialization.
    v_repid = sy-repid.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
           EXPORTING
                program_name  = v_repid
                dynpro_number = syst-dynnr
                field_name    = 'P_FILE'
           IMPORTING
                file_name     = p_file.
    Message was edited by:
            Chandrasekhar Jagarlamudi

  • Error while saving file to database using messageFileUpload

    Hi,
    In my OA Page I have messageFileUpload to save the file to a database. I have a custom stored procedure that I call in the AM that takes the file as BLOB and insert it into the table. My problem is for smaller files it works fine but as soon as I try to save a larger file i.e. over 0.5 MB I am getting the following errors. Sometime I get size error sometimes I get unreasonable conversion requested error. How can I solve this so it takes any size of file and save it.
    Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = java.sql.SQLException: Data size bigger than max size for this type: 2251264;
    Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = java.sql.SQLException: ORA-01460: unimplemented or unreasonable conversion requested ; Here is what I have in my Controller code snippet
    BlobDomain uploadedByteStream = (BlobDomain)fileUploadData.selectValue(null, fileName);
    Serializable[] parametersFile =  { fileName, contentType, fileSize, uploadedByteStream };
    Class[] paramTypesFile = { String.class, String.class, Long.class, BlobDomain.class };
    am.invokeMethod("saveFile", parametersFile, paramTypesFile);Here is the AM method that also invokes the Stored Procedure and pass the file as BLOB to save
    conn = (OracleConnection)dbTransaction.getJdbcConnection();
    cStmt = (OracleCallableStatement)conn.prepareCall(
                      "{CALL FILE_PKG.saveFile(:1, :2, :3, :4)}");
    cStmt.setString(1, fileName);
    cStmt.setString(2, fileContentType);
    cStmt.setNUMBER(3, new NUMBER(fileSize.intValue()));
    cStmt.setBinaryStream(4,uploadedFile.getBinaryStream(),fileSize.intValue());Any help is appreciated.
    Thanks

    I was able to resolve it and used the below code just in case if anyone else trying to save the BLOB
    byte[] barray = uploadedFile.getBytes(0,fileSize.intValue());
    oracle.sql.BLOB data = oracle.sql.BLOB.createTemporary(conn, true, BLOB.DURATION_CALL);
    data.putBytes(1,barray);
    cStmt.setBlob(4,tempBlob);

  • Problem while saving files

    Hello everyone,
    I have problem while wanting to save my projects. Nothing appears when I click on "Save" or "Save as". Ctrl+S doesn't work either. The only option that remains to me is closing my project, then it asks me if I want to save or not, then I save. But once it closed without asking me, I lost my work It's kind of annoying.
    I'm using Photoshop CS5
    Could anyone help me?
    Thanks.

    You likely don't have a display with a minimum of 768 pixels vertically.
    Hard to believe, but Photoshop's Save dialog will fail if you don't have a display that large.
    -Noel

  • How to increase apex speed while developing

    Dear's
    I am using oracle11g and apex 4.1 is installed in it (Embeded).
    When I am working with pages, it is taking cosiderable time to load.
    Please help.

    I am using oracle11g and apex 4.1 is installed in it (Embeded).
    When I am working with pages, it is taking cosiderable time to load.Try increasing the SHARED_SERVERS parameter in your database:
    http://ora-00001.blogspot.com/2008/04/adventures-with-apex-part-one-boosting.html
    Or try using the Apex Listener in stand-alone mode instead of the Embedded PL/SQL Gateway:
    http://blog.warp11.nl/2011/04/using-apex-listener-as-stands-alone-http-server-on-windows/
    - Morten
    http://ora-00001.blogspot.com

  • UseCompExpr Error while saving file in older format

    All,
    I have a sequence that:
    1. Was Developed in TestStand 2.0.1
    2. I am opened in TestStand 4.0.1
    3. I want to save it back in version 2.0.1
    WHY: Ease of use in newer TestStand GUI.
    But I get a UseCompExpr error >>> unknown variable
    Any ideas would be appreciated.
    thanks

    The only place I know that UseCompExpr is used is in the test step properties.  It looks like the step types have changed since versions.  When you tried to back save it doesn't know what to do with that property or how to use it.
    It's used in the String Value Test, Multiple Numeric Limit Test and the Numeric Limit Test.
    Hope this points you in the right direction.
    Honestly though I'm not sure what you are doing is supported or recommended by NI.  I can't speak for them though.  TS 3.0 was a major overhaul to TestStand and any version previous I consider ancient and wouldn't personally consider crossing that line.  My 2 cents.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Is there anyway to increase the speed while watching live video?

    On Yahoo when I click on news video there is a lag sometimes. What can I do to prevent this?

    Go to:
    http://www.proapptips.com/captmench
    and check out the TimeRemap video.
    It only touches the surface of TimeRemap... after you watch that and mess with it crack open the manual and do some more reading.
    Good luck,
    CaptM

  • Saving file

    while saving file different options appears in a dialogue .i file size should i choose to keep my file big original .or say of highest quality without reducing size

    PSD will do what you want, but you have to decide based on what you are going to do with the file in the end.
    A good practice is to Save As a PSD, and Save a copy of the file for ultimate use.

Maybe you are looking for

  • How to decide whether to use a cube or dso?

    Hi, If any requirment is given ,Based on what conditions we decide which  data target(i.e a cube or dso) to be used ? As of my knowledge, 1) DSO has the property of Over write option and cube have additive property. 2) DSO  can have delta records and

  • My 17" Powerbook keeps crashing on me!

    Hi there, I just bought an Aluminium 17" Powerbook from eBay and it keeps crashing on me. It arrived running Panther and seemed to work fine. However as soon as I installed Tiger it began crashing regularly. I took it into the Apple store and they sa

  • How do i find my 1st gen nano library and transfer it to my itouch library

    I had a 1st gen Nano and purchased an itouch. I noticed that once I registered my itouch, the nano library never came back up. I no longer have the nano. How can I find my nano library on my hard drive and transfer those songs to my itouch?

  • Oracle8 Enterprise Edition for Windows 8.0.6 - Info reqd.  Pls help !

    I'm a naïve user in Oracle and would like to know the following details from the Gurus. Any information in this regard will be highly appreciated ! We are trying to use Oracle8 Enterprise Edition for Windows 8.0.6 for some specific reason. Some gener

  • Display Death or other problem?

    The 17 inch CRT display that my cube runs has developed a very strange failure and I am uncertain if it is the display itself, the video card, the computer, or... When using the mouse to navigate, the screen will turn from whatever is displayed into