WO2011118199A1 - 表示切替装置 - Google Patents

表示切替装置 Download PDF

Info

Publication number
WO2011118199A1
WO2011118199A1 PCT/JP2011/001672 JP2011001672W WO2011118199A1 WO 2011118199 A1 WO2011118199 A1 WO 2011118199A1 JP 2011001672 W JP2011001672 W JP 2011001672W WO 2011118199 A1 WO2011118199 A1 WO 2011118199A1
Authority
WO
WIPO (PCT)
Prior art keywords
switching
buffer
display
frame buffer
component
Prior art date
Application number
PCT/JP2011/001672
Other languages
English (en)
French (fr)
Inventor
和俊 柏本
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to US13/320,844 priority Critical patent/US8810588B2/en
Priority to JP2012506843A priority patent/JP5662418B2/ja
Publication of WO2011118199A1 publication Critical patent/WO2011118199A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers

Definitions

  • the present invention relates to a display switching device in an information processing terminal that displays a plurality of images in a superimposed manner, and particularly to switching control of a plurality of buffers for recording images.
  • an information processing terminal that displays an image on a display such as a car navigation system or a mobile phone
  • a plurality of images are displayed in an overlapping manner.
  • a car navigation system a case in which a photographic image taken at one point on the map is displayed on a map image is displayed.
  • information processing terminals are equipped with high-speed buffers that are more expensive and capable of high-speed processing than general-purpose buffers.
  • Time is being shortened.
  • a high-speed buffer is assigned to a component that generates a map image displayed on a full display
  • a general-purpose buffer is assigned to another component that generates a photographic image.
  • the component corresponds to a component obtained by dividing the application into functions, processes, and the like. If the drawing processing time is extended, frame dropping, frame image display delay, and the like occur, and image display quality deteriorates.
  • the display of a photographic image in the above-described car navigation system is not limited to simply displaying a photographic image taken at one point on the map, but is enlarged after displaying the photograph at one point in 3D (three-dimensional). It is possible to consider an aspect such as. In this case, the drawing processing time for a photographic image having a smaller display area than the map image temporarily exceeds the drawing processing time for the map image.
  • an object of the present invention is to provide a display switching device that shortens the drawing processing time compared to the prior art, and reduces frame dropping due to a longer drawing processing time, display delay of frame images, and the like. .
  • a display switching device is a display switching device that switches a buffer assigned to each of a plurality of drawing components for a high-speed buffer and a general-purpose buffer for drawing an image
  • a switching determination unit that repeatedly calculates a drawing processing load for each of a plurality of drawing components, and each time the drawing processing load is calculated, the high-speed one that has the highest drawing processing load calculated among the plurality of drawing components Switch whether to switch the buffer to be assigned to the drawing component with the highest drawing processing load calculated and to the drawing component to which the high-speed buffer is assigned when it is determined whether or not a buffer is assigned.
  • the display switching device Since the display switching device according to an embodiment of the present invention has the above-described configuration, the total drawing processing time of the first and second drawing components is shortened after the buffer is replaced. Frame dropping, display delay of frame images, and the like can be reduced.
  • the block diagram which shows an example of a structure of the information processing terminal provided with the display switching apparatus in Embodiment 1 of this invention
  • the flowchart which shows an example of the flow of the switching judgment processing of the display switching apparatus in Embodiment 1 of this invention.
  • the block diagram which shows an example of a structure of the information processing terminal provided with the display switching apparatus in Embodiment 2 of this invention.
  • the flowchart which shows an example of the flow of the display time calculation process of the display switching apparatus in Embodiment 2 of this invention.
  • Timing chart showing drawing processing for second switching procedure in embodiment 2 of the present invention
  • Timing chart showing drawing processing for fourth switching procedure in embodiment 2 of the present invention
  • Timing chart showing drawing processing for first switching procedure according to Embodiment 2 of the present invention
  • Timing chart showing drawing processing for the third switching procedure in the second embodiment of the present invention
  • the figure which shows an example of the calculated score in Embodiment 2 of this invention
  • the flowchart which shows an example of the flow of the switching procedure selection process in Embodiment 2 of this invention.
  • the flowchart which shows an example of the flow of the switching determination process in Embodiment 2 of this invention.
  • the display switching device is a display switching device that switches a buffer assigned to each of a plurality of drawing components for a high-speed buffer and a general-purpose buffer for drawing an image, the display switching device for each of the plurality of drawing components
  • a switching determination unit that repeatedly calculates a drawing processing load, and each time the drawing processing load is calculated, whether or not the high-speed buffer is allocated to the highest drawing processing load calculated among the plurality of drawing components
  • a switching execution unit that switches a buffer to be assigned to the drawing component having the highest drawing processing load calculated and the drawing component to which the high-speed buffer is assigned.
  • the drawing processing load is a time during which each drawing component performs a drawing process per unit time, and the switching execution unit assumes that the drawing processing load is the highest among the plurality of drawing components. It is also possible to select the one having the longest drawing process per hour.
  • the calculation of the drawing processing load can be determined based on the drawing processing time that is relatively easy to measure than the load measurement.
  • the switching execution unit includes a first switching procedure for switching a buffer without copying the contents recorded in the high-speed buffer and the general-purpose buffer, and the contents stored in the high-speed buffer in the general-purpose buffer. It is also possible to select one of a second switching procedure for switching the buffer after copying, and a third switching procedure for switching the buffer after copying the contents stored in the general-purpose buffer to the high-speed buffer. Good.
  • the buffer switching procedure can be selected from a plurality of procedures. By selecting an optimal procedure, it is possible to minimize the processing loss in the drawing processing after the buffer switching.
  • the buffer switching cost for each of the switching procedures is compared with the case where the rendering process is continued without switching the buffer after switching the buffer. It is also possible to estimate and select the procedure with the minimum buffer switching cost.
  • the buffer switching cost may be determined based on at least one of the number of dropped frames, the number of display delays, and the CPU load value.
  • the buffer switching cost may be determined based on a value obtained by adding two or more of the number of dropped frames, the number of display delays, and the CPU load value.
  • the switching execution unit may lock the display without changing the screen display for a period when there is a processing failure when it is determined that there is a processing failure.
  • This configuration can suppress screen display disturbance.
  • the display switching method is a display switching method used for a display switching device that switches a buffer to be assigned to each of a plurality of drawing components for a high-speed buffer and a general-purpose buffer for drawing an image.
  • the integrated circuit according to claim 9 is an integrated circuit that switches a buffer assigned to each of a plurality of drawing components for a high-speed buffer and a general-purpose buffer for drawing an image, wherein the drawing processing for each of the plurality of drawing components A switching determination unit that repeatedly calculates a load, and each time the drawing processing load is calculated, a determination is made as to whether or not the high-speed buffer is allocated to the highest drawing processing load calculated among the plurality of drawing components. And a switching execution unit that switches a buffer to be assigned to the drawing component having the highest drawing processing load calculated and the drawing component to which the high-speed buffer is assigned when the assignment is not made.
  • the total drawing processing time of the first and second drawing components is shortened, so that frame dropping, frame image display delay, and the like can be reduced as compared with the conventional case.
  • An information processing terminal 1 including a display switching device is a portable information processing terminal including a touch panel display.
  • the information processing terminal 1 executes an application that performs navigation for displaying the current position of the information processing terminal 1 on a map image.
  • This application includes a component in charge of displaying a map image (hereinafter referred to as a first drawing component) and a component in charge of a function of displaying a photo (hereinafter referred to as a second drawing component).
  • a first drawing component a component in charge of a map image
  • a second drawing component On the map image, an image generated by each drawing component is superimposed and displayed as necessary, for example, a photographic image obtained by photographing an actual landscape at one point on the map is displayed.
  • the information processing terminal 1 has two types of memory devices, a high-speed memory device capable of high-speed data processing and a general-purpose memory device, and the high-speed memory device is assigned to the first drawing component.
  • the processing load of the second drawing component is the first. Exceeds the processing load of drawing components.
  • the display switching device in the information processing terminal 1 replaces the memory device used by the first drawing component and the memory device used by the second drawing component so that the higher processing load uses the high-speed memory device. Control.
  • an information processing terminal 1 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a touch panel display unit, and a keypad. It is a computer system composed of A computer program is stored in the ROM, and the information processing terminal 1 achieves its function by the CPU operating in accordance with the computer program read onto the RAM.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • FIG. 1 is a block diagram schematically showing the configuration of the information processing terminal 1.
  • the information processing terminal 1 is divided into a software part corresponding to the above-described computer program and a hardware part.
  • the software unit includes a frame buffer management unit 11, a display switching unit 21, an application unit 13, and a composition management unit 14.
  • the hardware unit includes a display unit 15, an input unit 16, an information storage unit 17, a high-speed memory device 18, and a general purpose.
  • a memory device 19 and a display memory device 113 are included.
  • the display switching unit 21 and the information storage unit 17 constitute the display switching device 12.
  • each configuration will be described in detail.
  • the high-speed memory device 18 and the general-purpose memory device 19 are memory devices that hold image data.
  • the high-speed memory device 18 can input and output data at a higher speed than the general-purpose memory device 19.
  • a high-speed frame buffer 31 that is a frame buffer for high-speed drawing processing is secured on the high-speed memory device 18.
  • a general-purpose frame buffer 32 which is a frame buffer for normal drawing processing, is secured.
  • the display memory device 20 is an image memory. On the display memory device 20, a display buffer 33 for holding an image that is a source of video displayed on the display is secured.
  • the display unit 15 includes a display control unit 34 and a display 35.
  • the display 35 is a device that displays an image, and specifically, a liquid crystal display.
  • the display control unit 34 reads out an image represented by the image data held in the display buffer 33 at every predetermined periodic refresh timing, and displays the image on the display 35.
  • the display control unit 34 In response to the information acquisition request, notifies display information 46 including refresh interval information indicating the refresh timing interval and refresh time information indicating the time of the most recent refresh.
  • the input unit 16 includes a keypad and a touch panel.
  • the input unit 16 detects user operations performed using the keypad and the touch panel, and displays key input information representing the input user operations and touch panel operation information (hereinafter referred to as key input information and touch panel operation information).
  • the application unit 13 is notified.
  • the information storage unit 17 is a secure memory device that holds information.
  • the information storage unit 17 stores information such as first drawing performance information 41, second drawing performance information 42, first frame buffer information 43, and second frame buffer information 44.
  • the first frame buffer information 43 is information that coincides with either the start address of the high-speed frame buffer 31 or the start address of the general-purpose frame buffer 32.
  • the content of the first frame buffer information 43 is appropriately rewritten by the display switching unit 21. Therefore, the first frame buffer information 43 coincides with the start address of the high-speed frame buffer 31 at one time, and coincides with the start address of the general-purpose frame buffer 32 at another time.
  • the second frame buffer information 44 is the same as the first frame buffer information.
  • the display switching unit 21 rewrites the contents of the first frame buffer information 43 and the second frame buffer information 44 so as to have a complementary relationship. That is, when the content of the first frame buffer information 43 is matched with the head address of the high-speed frame buffer 31, the content of the second frame buffer information 44 is matched with the head address of the general-purpose frame buffer 32.
  • the display switching unit 21 matches the content of the second frame buffer information 44 with the start address of the high-speed frame buffer 31 when the content of the first frame buffer information 43 matches the start address of the general-purpose frame buffer 32.
  • the first drawing performance information 41 and the second drawing performance information 42 will be described later.
  • the frame buffer management unit 11 secures an area as the high-speed frame buffer 31 on the high-speed memory device 18 according to the number of applications using the frame buffer and the number of components included in the application, and general-purpose on the general-purpose memory device 19. An area is secured as the frame buffer 32.
  • the frame buffer management unit 11 secures the same number of frame buffers as the number of components that use the frame buffer, but is not limited thereto. If there are a plurality of buffers used by each application and component, the necessary number may be secured. Further, the securing of the frame buffer may be performed statically or dynamically.
  • the frame buffer management unit 11 holds the reserved start address of the high-speed frame buffer 31 as the high-speed frame buffer start address 114, and holds the reserved start address of the general-purpose frame buffer 32 as the general-purpose frame buffer start address 115.
  • the application unit 13 includes a first drawing component 61 and a second drawing component 62 as components, and an execution control unit 63.
  • the two drawing components to be executed are the first drawing component 61 and the second drawing component 62.
  • the present invention is not limited to this, and three or more drawing components may be used.
  • the application unit 13 is an application that has a function of displaying a map and a function of displaying a photo as an example.
  • the first drawing component 61 has a function of displaying a map
  • the second drawing component 62 has a function of displaying a photograph.
  • the composition management unit 14 superimposes the map image generated by the first drawing component 61 and the photographic image generated by the second drawing component 62 separately from the map image. As a result, the map is displayed on the entire display area of the display 35, and a photograph of a point on the map is displayed in the vicinity of the point on the map. A display in which two images with a photograph are superimposed is made.
  • the first drawing component 61 includes a first drawing engine unit 71 and a first execution management unit 72.
  • the first drawing engine unit 71 performs a drawing process using a buffer specified by the first frame buffer information 43 stored in the information storage unit 17.
  • the first execution management unit 72 is a processing unit that manages the drawing process of the first drawing component 61, gives a drawing command to the first drawing engine unit 71, and stores the first drawing performance information 41 in the information storage unit 17. Store.
  • the first drawing performance information 41 is information relating to the drawing performance of the first drawing component 61, and includes drawing required time information, drawing interval information, and previous drawing start time.
  • the drawing required time indicates the time from the start of generation processing of image data to be drawn to writing of the generated image data into the frame buffer.
  • the drawing interval indicates a time interval for drawing image data. For example, if the drawing component processes each frame at 15 fps (frame per second), the drawing interval is 1/15 seconds. The drawing interval is determined in advance. The previous drawing start time is recorded for each start of the drawing process.
  • the second drawing component 62 includes a second drawing engine unit 73 and a second execution management unit 74.
  • the second drawing engine unit 73 performs a drawing process using a buffer specified by the second frame buffer information 44 stored in the information storage unit 17.
  • the second execution management unit 74 is a processing unit that manages the drawing process of the second drawing component 62, gives a drawing command to the second drawing engine unit 73, and stores the second drawing performance information 42 in the information storage unit 17. .
  • the second drawing performance information 42 is information related to the drawing performance of the second drawing component 62, and includes drawing required time information, drawing interval information, and previous drawing start time.
  • the drawing required time and the drawing interval are the same as those described for the first drawing performance information 41.
  • the execution control unit 63 performs control such as activation, execution, stop, and termination of the first drawing component 61 and the second drawing component 62 based on user operation information received from the input unit 16. Moreover, the execution control part 63 notifies user operation information etc. to the 1st execution management part 72 and the 2nd execution management part 74 as needed.
  • the display switching unit 21 includes a switching determination unit 81 and a switching execution unit 82.
  • the switching determination unit 81 acquires the first drawing performance information 41 and the second drawing performance information 42 from the information storage unit 17, and uses the first drawing performance information 41 and the second drawing performance information 42 to use the first drawing component 61.
  • the CPU load when each of the second drawing components 62 executes the drawing process is calculated.
  • the CPU load may be actually measured, but is not actually measured in the present embodiment, and is simply calculated by the following formula.
  • the switching determination unit 81 determines whether it is necessary to switch the frame buffer used by each drawing component based on the calculated CPU load. If it is determined that the buffer switching is necessary, the switching determination unit 81 switches the buffer to the switching execution unit 82. Request execution. Here, the switching determination unit 81 determines that the buffer switching is necessary when the drawing component having a high CPU load does not perform the drawing process using the high-speed frame buffer 31 capable of high-speed drawing. However, if drawing processing is performed using the high-speed frame buffer 31 capable of high-speed drawing, it is determined that buffer switching is unnecessary.
  • the switching execution unit 82 When the switching execution unit 82 receives a switching execution request from the switching determination unit 81, the switching execution unit 82 acquires the start address of the high-speed frame buffer 31 and the start address of the general-purpose frame buffer 32 from the frame buffer management unit 11. Then, the head address of the high-speed frame buffer 31 is written to the one corresponding to the drawing component that requires high-speed drawing out of the first frame buffer information 43 and the second frame buffer information 44 in the information storage unit 17, and the general-purpose frame is written to the other. Write the start address of the buffer 32.
  • the switching determination unit 81 determines that buffer switching is necessary and the drawing component requiring high-speed drawing is the first drawing component 61
  • the start address of the high-speed frame buffer 31 corresponds to the first drawing component 61.
  • the first frame buffer information 43 to be written is written in the information storage unit 17.
  • the head address of the general-purpose frame buffer 32 is written as the second frame buffer information 44 corresponding to the second drawing component 62.
  • the switching execution unit 82 notifies the composition management unit 14 of the change of the overlap setting at the time of composition by switching the frame buffer.
  • the overlap setting defines which of the image drawn in the high-speed frame buffer 31 and the image drawn in the general-purpose frame buffer 32 is displayed above.
  • the CPU load of the first drawing component 61 is higher than the CPU load of the second drawing component 62, so the first drawing component 61 uses the high-speed frame buffer 31.
  • the second drawing component 62 uses the general-purpose frame buffer 32.
  • the operation target of the user changes from a map to a photo.
  • the CPU load of the second drawing component 62 may be higher than the CPU load of the first drawing component 61.
  • buffer switching processing is performed. After the switching process, the second drawing component 62 uses the high-speed frame buffer 31, and the first and second drawing components 62 use the general-purpose frame buffer 32.
  • composition management unit 14 superimposes the image generated from the data stored in the high-speed frame buffer 31 and the image generated from the data stored in the general-purpose frame buffer 32 based on the overlap setting received from the switching execution unit 82.
  • the synthesized image generated by the synthesis is written into the display frame buffer 33.
  • FIG. 2 is a flowchart showing the flow of buffer switching processing according to the present embodiment.
  • the application unit 13 has already been started and the first drawing component 61 and the second drawing component 62 are respectively performing drawing processing.
  • the buffer switching process is performed at regular intervals.
  • the present invention is not limited to this, and may be performed at an appropriate time. For example, it may be performed every time there is a user instruction.
  • the switching determination unit 81 acquires the first drawing performance information 41 and the second drawing performance information 42 from the information storage unit 17, and based on the acquired first drawing performance information 41 and the second drawing performance information 42,
  • the CPU loads of the first drawing component 61 and the second drawing component 62 are calculated based on the above formula 1 (S101).
  • the switching determination unit 81 refers to the CPU load of the first drawing component 61 and the CPU load of the second drawing component 62, and determines whether or not the drawing component with the highest CPU load is drawing in the high-speed frame buffer 31.
  • the switching determination unit 81 determines that buffer switching is not necessary, and ends the buffer switching process. On the other hand, when it is determined that the drawing component with the highest load is not being drawn in the high-speed frame buffer 31 (No in S102), the switching determination unit 81 determines that buffer switching is necessary, and the switching execution unit 82 performs buffer switching. Request execution.
  • the switching execution unit 82 Upon receiving the buffer switching execution request, the switching execution unit 82 inquires of the first execution management unit 72 and the second execution management unit 74 about the execution state (whether drawing processing is being performed), and the first drawing component 61 and the second drawing. After both drawing processes of the component 62 are completed, the first execution management unit 72 and the second execution management unit 74 are instructed not to execute the drawing process (S103). This is because if an instruction to interrupt the drawing process is given during the drawing process, the image displayed on the display 35 is disturbed. Note that when both the first drawing component 61 and the second drawing component 62 are not in the drawing process, the switching execution unit 82 instructs to not execute the drawing process immediately.
  • the switching execution unit 82 acquires the start address of the high-speed frame buffer 31 and the start address of the general-purpose frame buffer 32 from the frame buffer management unit 11 (S104).
  • the switching execution unit 82 in S102, the frame buffer information corresponding to the drawing component (either the first drawing component 61 or the second drawing component 62) determined by the switching determination unit 81 to have a high CPU load (one of the first drawing component 61 and the second drawing component 62).
  • the contents of the first frame buffer information 43 or the second frame buffer information 44) are rewritten with the head address of the high-speed frame buffer 31.
  • the switching execution unit 82 rewrites the contents of the frame buffer information corresponding to the drawing component that has not been determined to have a high CPU load with the head address of the general-purpose frame buffer 32 (S105).
  • a high-speed frame buffer (high-speed frame buffer 31) is allocated to the drawing component determined to have a high CPU load, and the high-speed frame buffer 31 is used for the subsequent drawing processing.
  • the switching execution unit 82 notifies the composition management unit 14 and changes the overlap setting at the time of composition between the high-speed frame buffer 31 and the general-purpose frame buffer 32 (S106).
  • a map image is stored in the high-speed frame buffer 31
  • a photographic image is stored in the general-purpose frame buffer 32, and stored in the general-purpose frame buffer 32 on the map image stored in the high-speed frame buffer 31. It is assumed that the photographed images are displayed in a superimposed manner.
  • a map image is stored in the general-purpose frame buffer 32 and a photographic image is stored in the high-speed frame buffer 31.
  • the map image stored in the general-purpose frame buffer 32 is displayed on the photographic image stored in the high-speed frame buffer 31, and only the map image is displayed on the display 35 after all. Will end up.
  • the overlap setting is changed so that the overlap order of the image stored in the high-speed frame buffer 31 and the image stored in the general-purpose frame buffer 32 is changed.
  • the switching execution unit 82 instructs the first execution management unit 72 and the second execution management unit 74 to resume the drawing process (S107).
  • the drawing component determined to have a high CPU load by the switching determination unit 81 in S102 performs the drawing process using the high-speed frame buffer 31.
  • Embodiment 2 In the first embodiment, whether or not it is necessary to switch the buffer is determined according to the CPU load. In the second embodiment, in addition to this, when it is determined that the buffer needs to be switched, a plurality of buffer switching provided in advance is performed. Select the optimum procedure and switch the buffer according to the selected buffer switching procedure. The optimum buffer switching procedure is determined by predicting the occurrence of drawing delay, the occurrence of dropped frames, and the CPU load for each switching procedure, and comprehensively judging from the prediction results.
  • a plurality of buffer switching procedures are used by (1) a procedure for switching buffers without copying the contents of the buffers to each other (hereinafter referred to as a first switching procedure), and (2) a first drawing component 61.
  • Procedures for copying the contents of the buffer to the buffer used by the second drawing component 62 and then switching the buffer (hereinafter referred to as the second switching procedure)
  • (3) Contents of the buffer used by the second drawing component 62 Are copied to the buffer used by the first drawing component 61, and then the buffer is switched (hereinafter referred to as the third switching procedure).
  • the procedure of proceeding with the drawing process without switching the buffer is referred to as a fourth switching procedure for convenience.
  • FIG. 3 is a block diagram showing an example of the configuration of the information processing terminal 1 according to Embodiment 2 of the present invention.
  • the information processing terminal 1 is different from the configuration of the first embodiment in the following points.
  • a frame buffer generation management unit 94 and a frame buffer state management unit 93 are provided in the frame buffer management unit 11.
  • the frame buffer generation management unit 94 corresponds to the frame buffer management unit 11 of the first embodiment.
  • a drawing copy control unit 22 is added.
  • a switching procedure selection unit 83 and a display time calculation unit 84 are added to the display switching unit 21.
  • Switching procedure information 45 and display information 46 are added to the information recorded in the information storage unit 17.
  • the display memory device 20 is provided with a first immediately preceding frame buffer 36 and a second immediately preceding frame buffer 37.
  • the display switching device 12 includes the information storage unit 17, the display switching unit 21, and the drawing copy control unit 22.
  • the frame buffer management unit 11 includes a frame buffer state management unit 93 and a frame buffer generation management unit 94.
  • the frame buffer state management unit 93 acquires the display information 46 from the display control unit 34 and records it in the information storage unit 17.
  • the display control unit 34 updates the refresh time information at each refresh timing, and notifies the frame buffer state management unit 93 of the latest display information 46 including the latest refresh time information at each refresh timing.
  • the frame buffer generation management unit 94 secures a memory area as the high-speed frame buffer 31 on the high-speed memory buffer 18 according to the number of applications using the frame buffer and the number of components included in the application. As a general-purpose frame buffer 32, a memory area is secured. Then, the frame buffer generation management unit 94 holds the reserved start address of the high-speed frame buffer 31 as the high-speed frame buffer start address 114, and holds the reserved start address of the general-purpose frame buffer 32 as the general-purpose frame buffer start address 115.
  • the frame buffer generation management unit 94 secures the same number of frame buffers as the number of components that use the frame buffer.
  • two frame buffers ie, a high-speed frame buffer 31 in the high-speed memory device 18 and a general-purpose frame buffer 32 in the general-purpose memory device 19 are secured.
  • the provision of two frame buffers is determined for the sake of brevity and is not limited to this.
  • the necessary number or a part of the necessary number may be secured without being limited to two.
  • the securing of the frame buffer may be performed statically or dynamically.
  • the drawing processing capability is improved by securing the frame buffer on the high-speed frame buffer 31.
  • the frame buffer generation management unit 94 further includes a first conversion coefficient for converting the time required for drawing processing using the high-speed frame buffer 31 to the time required when the same drawing processing is performed using the general-purpose frame buffer 32, And the 2nd conversion coefficient which converts the required time of the drawing process using the general-purpose frame buffer 32 into the required time when the same drawing process is performed using the high-speed frame buffer 31 is held. For example, when the same drawing process is performed using the high-speed frame buffer 31 and the general-purpose frame buffer 32, it takes 0.1 seconds when the high-speed frame buffer 31 is used, and 0.2 seconds when the general-purpose frame buffer 32 is used. If so, the first transform coefficient is 2, and the second transform coefficient is 0.5.
  • the drawing copy control unit 22 copies the content recorded in one of the high-speed frame buffer 31 and the general-purpose frame buffer 32 to the other, and also copies the content recorded in both to each other.
  • Replace. Display switching unit 21
  • the display switching unit 21 includes a switching procedure selection unit 83 and a display time calculation unit 84 in addition to the switching determination unit 81 and the switching execution unit 82.
  • Display time calculation unit 84 receives a display time calculation request specifying any one of the first to fourth switching procedures from the switching procedure selection unit 83.
  • the display time calculation unit 84 calculates the start time and the end time of each drawing process periodically performed by each of the first drawing component 61 and the second drawing component 62. Then, the refresh timing at which the image generated and written by each drawing process is displayed is calculated. Based on the information calculated by the display time calculation unit 84, the switching procedure selection unit 83 comprehensively evaluates frame image display delay, frame dropping, and CPU load increase by each switching procedure, and the switching procedure is selected.
  • FIG. 4 is a flowchart showing a display time calculation process performed by the display time calculation unit 84.
  • FIG. 5 is a timing chart showing a drawing process when the second switching procedure is performed.
  • a figure schematically representing the screen image to be drawn is added to the timing chart.
  • FIG. 5 will be described first. Thereafter, the flowchart of FIG. 4 will be described with reference to FIG. 5 as an example where the first switching procedure is designated.
  • the horizontal axis t in FIG. 5 indicates time.
  • the vertical axis of FIG. 5 is divided into high-speed FB (frame buffer), general-purpose FB, and display FB columns.
  • the high-speed FB column indicates that the drawing process is performed using the high-speed frame buffer 31.
  • the FB column indicates that the drawing process is performed using the general-purpose frame buffer 32, and the display FB column indicates that the drawing process is performed using the display frame buffer 33.
  • the interval between the refresh timings is a fixed time TI.
  • the TI is refresh interval information included in the display information 46, and is determined by performance, specifications, etc. relating to display on the display.
  • the drawing 1 bar 201 represents that the first drawing component 61 performs the drawing process in the processing period (TD1) indicated by the width of the bar in the time axis direction.
  • the drawing 1 bar 201 is described in the high-speed FB column, and this drawing process is performed using the high-speed frame buffer 31.
  • the process shown in the drawing 1 bar 201 starts at time T10 and ends at time T11.
  • the drawing 1 bars 202 to 205 are the same as the drawing 1 bar 201.
  • the drawing 1 bars 203 to 205 are described in the general-purpose FB column, and this drawing processing is performed using the general-purpose frame buffer 32.
  • the processing period (TD4) of the drawing 1 bars 203 to 205 is longer than that of the drawing 1 bars 201 to 202 using the high-speed frame buffer 31 (TD1 ⁇ TD4).
  • the drawing 2 bar 211 indicates that the second drawing component 62 performs the drawing process in a period (TD2) indicated by the width of the bar in the time axis direction.
  • the drawing 2 bar 211 is described in the general-purpose FB column, and this drawing processing is performed using the general-purpose frame buffer 32.
  • the process indicated by the drawing 2 bar 211 starts at T11 when the drawing process indicated by the drawing 1 bar 201 ends, and ends at time T12.
  • the drawing 2 bars 212 to 214 are the same as the drawing 2 bar 211. However, the drawing 2 bars 212 to 214 are described in the high-speed FB column, and these drawing processes are performed using the high-speed frame buffer 31, and the processing period (TD3) is longer than that of the drawing 2 bar 211. Shorter (TD2 ⁇ TD3).
  • T13 to T20 also indicate the start time and end time of the drawing process, respectively, similarly to T10 to T12.
  • the composite bar 221 indicates that a composite image is generated by the composite management unit 14 and displayed on the display 35 by the display control unit 34 in a period indicated by the width of the bar in the time axis direction.
  • the drawing process indicated by the synthesis bar 221 starts at the refresh timing TR0.
  • the composite bar 221 is described in the display FB column, and indicates that this drawing process is performed using the display frame buffer 33.
  • the synthesis bars 222 to 225 are the same as the synthesis bar 221.
  • the memory copy bar 231 indicates that the contents of the high-speed frame buffer 31 are being copied to the second frame buffer 32 by the drawing copy control unit 22 during the period indicated by the width of the bar in the time axis direction.
  • TDC indicates the time required for copying.
  • the rectangle (image 251) shown in the balloon from the drawing 1 bar 201 schematically represents the image data that the first drawing component 61 writes to the frame buffer and the image image displayed on the display 35 based on the image data. Show.
  • a numerical value “0” in the image 251 indicates a number (frame number) given to the image written by the first drawing component 61. Note that the frame numbers are merely used for convenience to indicate the relative order of the images, and the numbers themselves do not have any special intention.
  • the hatched rectangle (image 261) shown in the balloon is the image data that the second drawing component 62 writes to the frame buffer and the image displayed on the display 35 based on the image data.
  • the image is shown schematically.
  • the numerical value “1” in the image 261 indicates the frame number assigned to the image written by the second drawing component 62.
  • the rectangle (image 271) shown in the balloon area from the synthesis bar 221 schematically shows the image that the synthesis management unit 14 writes to the display frame buffer 33.
  • This image 271 is an image in which the image 282 is combined with the image 251.
  • the images 252 to 255 are the same as the image 251.
  • the images 262 to 264 are the same as the image 261.
  • the images 272 to 275 are the same as the image 271.
  • the start time and end time (T11 to T20) of each of the drawing processes periodically performed by each of the first drawing component 61 and the second drawing component 62 are calculated. . Also, it is calculated at which refresh timing (TR0 to TR4, etc.) the images generated and written by each drawing process (images 251 to 264, etc., images 261 to 255, etc.) are displayed.
  • the switching procedure selection unit 83 transmits a display time calculation request including the provisional switching start time and specifying the calculation target procedure to the display time calculation unit 84.
  • the calculation target procedure indicates one of the first to fourth switching procedures.
  • the calculation target procedure is the second switching procedure.
  • the switching start provisional time is determined by the switching procedure selection unit 83 as follows. That is, when the switching procedure selection unit 83 tries to transmit the display time calculation request, if neither the first drawing component 61 nor the second drawing component 62 is performing the drawing process, the switching procedure selection unit 83 sets the current time to the temporary switching start time. And If either the first drawing component 61 or the second drawing component 62 is in the drawing process, the temporary start time for switching is set immediately after the end of the drawing process. In the example of FIG. 5, the switching procedure selection unit 83 includes TC (T13) immediately after the end of the drawing process as the switching start temporary time in the display time calculation request.
  • the refresh timing TRa (a is an integer) is assigned a value with a refresh timing immediately before TC as TR0.
  • the frame number is assigned in order with the frame number of the image drawn immediately before TC being set to 1.
  • the display time calculation unit 84 receives the display time calculation request from the switching procedure selection unit 83 and starts processing.
  • the display time calculation unit 84 stores the temporary switching start time included in the display time calculation request in the variable t (S401).
  • the display time calculation unit 84 acquires the first drawing information 41 and the second drawing information 42 from the information storage unit 17. Then, for the first drawing component 61, the drawing start time immediately before t is calculated (S402). In the example of FIG. 5, the drawing start time is the start time T12 of the drawing 1 bar 202 indicated by the previous drawing start time information included in the first drawing information 41.
  • the display time calculation unit 84 prepares integer type variables m and n. m indicates the serial number of the image drawn by the second drawing component, and n indicates the serial number of the image drawn by the first drawing component.
  • the frame number (n) of the image related to the start time calculated in S402 is set to 1.
  • the drawing start time immediately before t is calculated (S403).
  • the drawing start time is the start time T11 of the drawing 2 bar 211 indicated by the previous drawing start time information included in the second drawing information 42.
  • the frame number (m) of the image related to the start time calculated in S403 is set to 1.
  • the display time calculation unit 84 determines whether or not the calculation target procedure is the second switching procedure (S403). If it is the second switching procedure (S403: YES), it is stored in the high-speed frame buffer 31. Completion time (T14) when the content is copied to the general-purpose frame buffer 32 is calculated and stored in t (S404). It is assumed that the time TDC required to copy the contents stored in the high-speed frame buffer 31 to the general-purpose frame buffer 32 is known.
  • the display time calculation unit 84 determines whether or not the calculation target procedure is the third switching procedure (S405). If the calculation procedure is the third switching procedure (S405: YES), the display time calculation unit 84 is stored in the general-purpose frame buffer 32. The completion time when the content is copied to the high-speed frame buffer 31 is calculated and stored in t (S406). It is assumed that the time required to copy the contents stored in the general-purpose frame buffer 32 to the high-speed frame buffer 31 is known.
  • the display time calculation unit 84 sets m and n to 2 (S407).
  • the display time calculation unit 84 determines which drawing component is to perform the drawing process at the time closest to the time t after the time t (S406).
  • the process proceeds to S411, and if it is determined that the component is the second drawing component 62, the process proceeds to S409.
  • the display time calculation unit 84 calculates the drawing processing end time of the drawing processing that starts at the time closest to time t, It is overwritten and stored in t (S409).
  • the drawing process end time is T15 which is the last of the drawing 2 bar 212, and T15 is overwritten and stored in t.
  • the time required for the processing indicated by each drawing bar after TC is only an estimate at the time of TC.
  • the time required for the drawing process may not be the same for all the drawing processes, but here, the time required for the drawing process performed immediately before t is the time required for the drawing process to be performed thereafter. I reckon.
  • the required time measured for the most recently performed rendering process is performed later. It cannot be regarded as the time required for the power drawing process. Therefore, the required time measured for the most recently performed drawing process is multiplied by the first or second conversion coefficient, and is regarded as the time required for the drawing process to be performed thereafter.
  • the drawing processing time may be a predetermined time, an average drawing processing time, or the like.
  • the display time calculation unit 84 acquires the display information 46 from the information storage unit 17, and calculates the latest refresh timing after time t using the refresh time information included in the display information 46.
  • the display time calculation unit 84 holds this refresh timing as the m-th screen display time of the second drawing component 62 (S410).
  • a is held as the screen display time.
  • the display time calculation unit 84 calculates and holds the drawing start time of the mth drawing frame of the second drawing component 62 (S411).
  • the refresh timing is calculated.
  • the display time calculation unit 84 adds 1 to m (S412), and transitions to S417.
  • the display time calculation unit 84 determines whether or not the processing from S409 to S412 or S414 to S416 is performed again based on the time t (S417). The determination is based on whether t has reached a predetermined upper limit. The upper limit value may be reset based on the time required for this process.
  • S417 If it is determined in S417 that the process is to be performed again (S417 is NO), the process proceeds to S408, and if it is not determined that the process is to be performed again (S417 is YES), the process is terminated. In the present embodiment, it is assumed that the calculation process does not end for the time until m and n become 4, and the upper limit value is set so that S417 is NO.
  • the refresh timing is calculated.
  • FIG. 6 is a timing chart showing a drawing process for the fourth switching procedure.
  • the difference between the fourth switching procedure in FIG. 6 and the second switching procedure in FIG. 4 is largely that the memory contents shown as the memory copy bar 231 in FIG. 4 are not copied, and the first drawing component 61 in TC. And the memory buffer used by the second drawing component 62 is not switched.
  • FIG. 7 is a timing chart showing a drawing process for the first switching procedure.
  • FIG. 7 The method of referring to the figures, symbols, etc. in FIG. 7 is the same as in FIG.
  • the difference between the first switching procedure in FIG. 7 and the second switching procedure in FIG. 4 is that the memory contents shown as the memory copy bar 231 in FIG. 4 are not copied.
  • FIG. 8 is a timing chart showing a drawing process for the third switching procedure.
  • FIG. 8 Referring to the figure, symbols, etc. in FIG. 8 is the same as in FIG.
  • the difference between the third switching procedure in FIG. 8 and the second switching procedure in FIG. 4 is that the copy source and the copy destination are reversed in the copy of the memory contents shown as the memory copy bar 231 in FIG. It is. That is, the contents stored in the general-purpose frame buffer 32 are copied to the high-speed frame buffer 31 (represented as a memory copy bar 231).
  • FIG. 9 is a table summarizing the calculation results by the display time calculation process for the first to fourth switching procedures.
  • FIG. 9A shows at which refresh timing (“a” of TRa) the frame number (m, n), the first drawing component 61, and the second drawing component are displayed in the fourth switching procedure. Indicates.
  • the frame number in FIG. 9A indicates the values of m and n.
  • the value in the column 511 in FIG. That is, the image 223 of frame number 1 of the first drawing component 61 is displayed at the refresh timing TR1.
  • the value in the column 512 in FIG. That is, the image 222 of the frame number 1 of the second drawing component 62 is displayed at the refresh timing TR0.
  • the value in the column 513 in FIG. That is, the image 225 of the frame number 2 of the first drawing component 61 is displayed at the refresh timing TR2.
  • the value in the column 514 in FIG. That is, the image 224 of frame number 2 of the second drawing component 62 is displayed at the refresh timing TR2.
  • the value in the column 515 in FIG. That is, the image 227 of frame number 3 of the first drawing component 61 is displayed at the refresh timing TR3.
  • the value in the column 516 in FIG. That is, the image 226 of frame number 3 of the second drawing component 62 is displayed at the refresh timing TR3.
  • FIGS. 9B, 9C, and 9D show the frame number (m, n), the first drawing component 61, and the second in the first to third switching procedures, respectively.
  • the refresh timing (TRa “a”) is displayed.
  • 9B, 9C, and 9D are provided with delay columns (column 521 and column 522) that are not described in FIG. 9A.
  • ⁇ 1 is described as the delay.
  • the delay is reduced by 1 compared to the case where the fourth switching procedure is adopted.
  • the refresh timing at which the fourth frame is displayed is 5 (TR5) in the fourth switching procedure, while 4 (TR4) is displayed in the first switching procedure.
  • the refresh timing at which frames with frame numbers 2, 3, and 4 are displayed is 2 (TR2), 3 (TR3), and 4 (TR4) in the fourth switching procedure.
  • the refresh timing displayed is incremented by 1, so the total value is -3. is there.
  • FIGS. 9E to 9G are tables showing the scores of the first to third switching procedures.
  • FIG. 9 (e) is a table showing the score of the first switching procedure, and corresponds to FIG. 9 (b).
  • the delay meter in FIG. 9 (e) is the sum of the delays in FIG. 9 (b). Specifically, it is the sum of the values in the columns 521 and 522.
  • the frame dropping in FIG. 9 (e) occurs when image data is recorded in the buffer and then image data is recorded again in the buffer before the refresh timing comes.
  • the image 252 is described in the high-speed frame buffer, but before the refresh timing comes.
  • the image 262 is overwritten in the high-speed frame buffer by the drawing process related to the drawing 2 bar 361. Therefore, the image 252 is dropped.
  • Whether or not frames are dropped is determined by whether or not drawing processing for overwriting another image data is started before the refresh timing comes after the image data is written to the high-speed frame buffer. Can do. This determination result is described in the frame dropout column in FIG.
  • the load in FIG. 9 (e) indicates the CPU load.
  • Describe 0.1 as the load value when copying the contents from one of the high-speed frame buffer and general-purpose frame buffer to the other.
  • a load is generated in the second switching procedure and the third switching procedure.
  • the score in FIG. 9 (e) is the sum of the values in the delay meter column, the frame drop column, and the load column.
  • FIG. 9 (f) is a table showing the score of the second switching procedure, and corresponds to FIG. 9 (c).
  • FIG. 9 (g) is a table showing the score of the third switching procedure, and corresponds to FIG. 9 (d).
  • 9F and 9G are the same as those in FIG. 9E, and the description thereof is omitted.
  • the switching procedure selection unit 83 calculates a score representing the buffer switching cost for each of the first switching procedure to the fourth switching procedure.
  • the switching procedure selection unit 83 acquires the calculation results shown in FIGS. 9A to 9D from the display time calculation unit 84. Then, based on the display time calculation result acquired from the display time calculation unit 84, a score representing the buffer switching cost is calculated for each of the first switching procedure to the fourth switching procedure. Since the score has already been described with reference to FIGS. 9E to 9G, description thereof will be omitted.
  • the switching procedure selection unit 83 compares the calculated scores, and selects a switching procedure with a low score as the optimum switching procedure. Then, the switching procedure information 45 indicating the selected switching procedure is stored in the information storage unit 17.
  • FIG. 10 is a flowchart of the switching procedure selection process performed by the switching procedure selection unit 83.
  • the switching procedure selection unit 83 receives the switching procedure selection start request from the switching determination unit 81 and starts the switching procedure selection process.
  • the switching procedure selection unit 83 first prepares an integer type variable i and sets 0 as an initial value (S301).
  • the switching procedure selection part 83 calculates the above-mentioned switching start temporary time.
  • the switching procedure selection unit 83 when trying to transmit a calculation request, sets the current time if neither the first drawing component 61 nor the second drawing component 62 is in the drawing process. This is the provisional switching start time. If either the first drawing component 61 or the second drawing component 62 is in the drawing process, the temporary start time for switching is set immediately after the end of the drawing process. If i is not 0, for the drawing component whose switching start provisional time is immediately after the end of the drawing process, the switching start provisional time immediately after i drawing process is performed (S302).
  • the switching start temporary time is immediately after the end of the drawing 1 bar 202, but when i is 1, the drawing 1 bar 203 that is the next drawing 1 bar of the drawing 1 bar 202. Immediately after the end of, the temporary switching start time is set. When i is 1, the switching start provisional time may be immediately after the end of the drawing 2 bar 212 which is the next drawing 2 bar of the drawing 1 bar 202.
  • the switching procedure selection unit 83 makes a display time calculation request for the fourth switching procedure that does not perform buffer switching to the display time calculation unit 84, and acquires a calculation result (hereinafter referred to as a fourth calculation result) ( S303).
  • the process of S303 is executed according to the flowchart of FIG. This calculation result is shown in FIG.
  • the switching procedure selection unit 83 makes a display time calculation request for the first switching procedure to the display time calculation unit 84, and acquires a calculation result (hereinafter referred to as a first calculation result) (S304).
  • the process of S304 is executed according to the flowchart of FIG. This calculation result is shown in FIG.
  • the switching procedure selection unit 83 makes a display time calculation request for the second switching procedure to the display time calculation unit 84, and acquires a calculation result (hereinafter referred to as a second calculation result) (S305).
  • the process of S305 is executed according to the flowchart of FIG. This calculation result is shown in FIG.
  • the switching procedure selection unit 83 makes a display time calculation request for the third switching procedure to the display time calculation unit 84, and acquires a calculation result (hereinafter referred to as a third calculation result) (S306).
  • the process of S306 is executed according to the flowchart of FIG. This calculation result is shown in FIG.
  • the switching procedure selection unit 83 retains information indicating the scores calculated for the first to third switching units (S307).
  • the upper limit of the value of i may be set with a fixed threshold for the number of temporary settings. Also, when the processing time of the switching procedure selection process exceeds a certain value, i may be set as the upper limit, and the process may proceed to S309. The upper limit of i may be 1. In S309, the switching procedure with the highest score may be selected without selecting the one with the best average score. (Switching determination unit 81) The switching determination unit 81 compares the switching cost of the procedure selected by the switching procedure selection unit 83 with the stored threshold value. When the switching cost is equal to or higher than the threshold, the switching determination unit 81 determines not to perform switching and ends the process.
  • the switching determination unit 81 determines to perform switching, and requests the switching execution unit 82 to perform switching. In addition, it is good also as performing buffer switching by the switching procedure which the switching procedure selection part 83 selected, without comparing a threshold value and cost.
  • FIG. 11 is a flowchart showing an example of the buffer switching operation in the second embodiment.
  • the switching operation shown in FIG. 11 is performed at regular intervals.
  • the present invention is not limited to this, and notification may be received and processing may be started every time a user operation is performed.
  • the switching determination unit 81 calculates the CPU load of each of the first drawing component 61 and the second drawing component 62 by the same processing as S101 (S201).
  • the switching determination unit 81 refers to the CPU load of the first drawing component 61 and the CPU load of the second drawing component 62 by the same processing as S102, and the drawing component with the highest load is stored in the high-speed frame buffer 31. It is determined whether or not drawing is performed (S202).
  • the switching determination unit 81 determines that switching is not necessary, and ends the processing.
  • the switching determination unit 81 instructs the switching procedure selection unit 83 to select the switching procedure.
  • the switching procedure selection unit 83 performs a switching procedure selection process (S203).
  • the switching procedure selection unit 83 selects an optimal procedure from the first switching procedure to the fourth switching procedure, and stores the selected procedure in the information storage unit 17 as the switching procedure information 45 (S204).
  • the switching determination unit 81 acquires the switching procedure information 45 from the information storage unit 17 (S205).
  • the switching determination unit 81 compares the switching cost of the procedure selected by the switching procedure selection unit 83 with the held threshold value. When the switching cost is equal to or higher than the threshold value, the switching determination unit 81 determines not to perform switching (NO in S206), and ends the process. On the other hand, when the switching cost is less than the threshold, the switching determination unit 81 determines to perform switching (YES in S206) and requests the switching execution unit 82 to perform switching.
  • the switching execution unit 82 reads the execution state of the drawing processing of the first execution management unit 72 and the second execution management unit 74, and after the drawing processing of each drawing component (131, 132) is completed, the first execution is performed.
  • the management unit 72 and the second execution management unit 74 are instructed to stop the drawing process by each drawing component (131, 132) (S207). Note that when all the drawing components (131, 132) are not in the drawing process, the switching execution unit 82 commands an interruption immediately.
  • the switching execution unit 82 instructs the drawing copy control unit 22 to copy between the frame buffers according to the acquired switching procedure (S208). Specifically, when the switching procedure indicated by the acquired switching procedure information 45 is the second switching procedure, the second rendering component 62 uses the contents of the buffer used by the first rendering component 61. To copy to the current buffer.
  • the switching procedure indicated by the acquired switching procedure information 45 is the third switching procedure
  • the contents of the buffer used by the second drawing component 62 are copied to the buffer used by the first drawing component 61. Instruct them to do so.
  • the switching execution unit 82 acquires the addresses of the high-speed frame buffer 31 and the general-purpose frame buffer 32 (the high-speed frame buffer start address 91 and the general-purpose frame buffer start address 92) from the frame buffer generation management unit 94. Then, the switching execution unit 82 stores the high-speed frame buffer in the frame buffer information storage unit (124 or 125) corresponding to the drawing component (131 or 132) determined to have a high drawing load by the switching determination unit 81 in step S202. 31 addresses are stored. Further, the switching execution unit 82 stores the address of the general-purpose frame buffer 32 in the frame buffer information storage unit (124 or 125) corresponding to the drawing component (131 or 132) determined to have a low drawing load (S209). ). Thus, the drawing component determined to have a high drawing load is allocated and set by the high-speed frame buffer (high-speed frame buffer 31), and the high-speed frame buffer is used for the next drawing.
  • the drawing component determined to have a high drawing load is allocated and set by the high-speed frame buffer (high
  • the switching execution unit 82 notifies the composition management unit 14 and changes the overlap setting at the time of composition between the high-speed frame buffer 31 and the general-purpose frame buffer 32 (S210).
  • the switching execution unit 82 locks the display screen if necessary according to the switching procedure (S211).
  • the switching execution unit 82 instructs the composition management unit 14 to lock the screen, and the composition management unit 14 stops the frame buffer composition processing that may cause a display failure.
  • the display failure means that the drawing component (131, 132) does not complete the drawing process and displays it on the display 35 in a state where the screen to be displayed is not completed.
  • the switching execution unit 82 instructs the first execution management unit 72 and the second execution management unit 74 to resume the drawing process that was instructed to be stopped in S207 (S213).
  • the switching execution unit 82 releases the screen lock at an appropriate timing according to the information stored in the information storage unit 17 (S214). Specifically, the switching execution unit 82 instructs the composition management unit 14 to release the screen lock, and the composition management unit 14 resumes the composition processing of the high-speed frame buffer 31 and the general-purpose frame buffer 32.
  • the drawing component determined to have a high drawing load by the switching determination unit 81 in step S202 is drawn using the high-speed frame buffer. Processing will be performed. In addition, display failure and flickering associated with the switching process can be suppressed. 3.
  • the present invention has been described based on the above embodiment, the present invention is not limited to the above embodiment, and various modifications can be made without departing from the gist of the present invention. Of course, it can be added.
  • the CPU load is set as the required drawing time / drawing interval, but is not limited thereto.
  • the CPU load may use an average value of a plurality of CPU loads calculated up to the present after the switching determination unit 81 has made the switching determination most recently.
  • the information processing terminal 1 is a portable information terminal.
  • the information processing terminal 1 is not limited to this and may be a stationary information terminal, a mobile phone, an AV device, or the like. It may be.
  • the application executed by the information processing terminal 1 is to draw a map and a photo, but is not limited to this, and is a combination of a map, a movie, a photo, CG (Computer Graphics), document drawing, and the like. May be.
  • An X window system (registered trademark) is incorporated in the software section of the information processing terminal 1 (not shown), and the general-purpose frame buffer 32 may perform drawing via the X window system.
  • the drawing process using the high-speed frame buffer 31 is faster than the case where the general-purpose frame buffer 32 is used.
  • the general-purpose frame buffer 32 two or more components can request to write data at the same time.
  • the X window system arbitrates these write requests, and then sequentially sends the data requested to be written by each component.
  • each of the above devices is a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is stored in the RAM or the hard disk unit.
  • Each device achieves its function by the microprocessor operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.
  • each device is not limited to a computer system including all of a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, and the like, but may be a computer system including a part of them.
  • a part or all of the constituent elements constituting each of the above devices is configured by a circuit that realizes the function of the constituent element, or a program that realizes the function of the constituent element and a processor that executes the program Alternatively, it may be configured from one system LSI (Large Scale Integration).
  • the system LSI is a super multifunctional LSI manufactured by integrating a plurality of components on one chip, and specifically, a computer system including a microprocessor, a ROM, a RAM, and the like. .
  • a computer program is stored in the RAM.
  • the system LSI achieves its functions by the microprocessor operating according to the computer program. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • system LSI Although the system LSI is used here, it may be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • a part or all of the constituent elements constituting each of the above devices may be configured by an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
  • the present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.
  • the present invention also provides a computer-readable recording medium such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray Disc). ), Recorded in a semiconductor memory or the like. Further, the present invention may be the computer program or the digital signal recorded on these recording media.
  • the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
  • the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, and is executed by another independent computer system. It is good.
  • the display switching device is suitable for an information processing terminal, an AV device, a communication terminal, and the like having a function of displaying a plurality of windows in an overlapping manner.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

 コマ落ち、フレーム画像の表示遅延などを低減する表示切替装置を提供する。情報処理端末1は、第1の時間間隔毎に画像を生成しバッファに書き込む第1描画コンポーネント61と、第2の時間間隔毎に画像を生成しバッファに書き込む第2描画コンポーネント62と、高速メモリデバイス18上に高速フレームバッファ31を確保し、汎用メモリデバイス19上に汎用フレームバッファ32を確保するバッファ管理部11と、表示切替装置12とを備え、表示切替装置12は、描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部81と、描画処理負荷が高い方に高速フレームバッファ31が割り当てられていない場合に描画コンポーネント各々に割り当てるバッファを相互に入れ替える切替実施部82とを含む。

Description

表示切替装置
 本発明は、複数の画像を重ね合わせて表示する情報処理端末における表示切替装置に関し、特に画像を記録する複数のバッファの切替制御に関するものである。
 近年、カーナビゲーションシステム、携帯電話などディスプレイに画像を表示する情報処理端末において、複数の画像が重ね合わせて表示されることが増加している。例えば、カーナビゲーションシステムにおいて、地図画像の上に、その地図の一地点で撮影された写真画像を重ね合わせて表示するなどの場合が該当する。そして、描画処理は複雑化する一方であるため、情報処理端末において、汎用バッファに加えて、汎用バッファより高価で高速処理が可能な高速バッファを備え、特定の処理に高速バッファを割り当てて描画処理時間の短縮を図っている。カーナビゲーションシステムの例であれば、ディスプレイ一杯に表示される地図画像を生成するコンポーネントに高速バッファが割り当てられ、その他の写真画像を生成するコンポーネントなどに汎用バッファが割り当てられる。ここで、コンポーネントとは、アプリケーションを機能、処理など毎に分割した部品に相当する。描画処理時間が延びると、コマ落ち、フレーム画像の表示遅延などが生じ、画像表示の品質が低下する。
特開2000-206953号公報
 ところで、情報処理端末において、要求される描画処理は複雑化する一方である。例えば、上述のカーナビゲーションシステムにおける写真画像の表示についても、単に地図の一地点で撮影された写真画像を表示するのに留まらず、一地点の写真を3D(3次元)化した上で拡大表示するなどの態様が考えられる。この場合、地図画像に比べ表示面積が小さい写真画像に係る描画処理時間が、地図画像の描画処理時間を一時的に上回る。
 上記のように描画処理が複雑化すると描画処理時間が長期化し、コマ落ち、フレーム画像の表示遅延などの問題が顕著となる。
 上記の問題に鑑み、本発明は、従来よりも描画処理時間を短縮し、描画処理時間の長期化によるコマ落ち、フレーム画像の表示遅延などを低減する表示切替装置を提供することを目的とする。
 上記課題を解決するために、本発明の一実施態様である表示切替装置は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
 本発明の一実施態様である表示切替装置は、上述の構成を備えることにより、バッファを入れ替えた後において、第1及び前記第2描画コンポーネントの描画処理時間の合計が短縮するので、従来よりもコマ落ち、フレーム画像の表示遅延などを低減することができる。
本発明の実施の形態1における表示切替装置を備えた情報処理端末の構成の一例を示すブロック図 本発明の実施の形態1における表示切替装置の切替判断処理の流れの一例を示すフローチャート 本発明の実施の形態2における表示切替装置を備えた情報処理端末の構成の一例を示すブロック図 本発明の実施の形態2における表示切替装置の表示時刻算出処理の流れの一例を示すフローチャート 本発明の実施の形態2における第2切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における第4切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における第1切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における第3切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における算出したスコアの一例を示す図 本発明の実施の形態2における切替手順選択処理の流れの一例を示すフローチャート 本発明の実施の形態2における切替判断処理の流れの一例を示すフローチャート
 請求項1に記載の態様である表示切替装置は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
 また、前記描画処理負荷は、各描画コンポーネントが単位時間当たりに描画処理を行っている時間であり、前記切替実施部は、前記複数の描画コンポーネントのうち前記描画処理負荷が最も高いものとして、単位時間当たりに描画処理を行っている時間の最も長いものを選ぶこととしてもよい。
 この構成によれば、描画処理負荷の算出を、負荷の測定より比較的測定の容易な描画処理時間により判断することができる。
 また、前記切替実施部は、前記高速バッファ及び前記汎用バッファに記録されている内容をコピーせずに、バッファを切り替える第1の切替手順と、前記高速バッファに記憶された内容を前記汎用バッファにコピーした後に、バッファを切り替える第2の切替手順と、前記汎用バッファに記憶された内容を前記高速バッファにコピーした後に、バッファを切り替える第3の切替手順とのうち1つを選択することとしてもよい。
 この構成によれば、バッファの切替手順を複数の手順から選択することができる。最適な手順を選択することで、バッファ切り替え以後の描画処理における処理落ちを最小にすることができる。
 また、前記切替実施部は、前記1つの切替手順を選択する場合に、前記切替手順それぞれについて、バッファを切り替えた後における、バッファを切り替えずに描画処理を継続する場合と比較したバッファ切替コストを推計し、前記バッファ切替コストが最小の手順を選択することとしてもよい。
 この構成によれば、バッファ切り替え以後の描画処理における処理落ちを最小にすることができる。
 また、前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち少なくとも1つに基づき判断することとしてもよい。
 この構成によれば、コマ落ち、表示遅延及びCPU負荷のうち少なくとも1つを従来より低減することができる。
 また、前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち2つ以上を加えた値に基づき判断することとしてもよい。
 この構成によれば、コマ落ち数、表示遅延数及びCPU負荷値のうち2つ以上を加えた値のみで、バッファ切り替え以後の処理落ちの多寡を判定することができる。
 また、前記切替実施部は、フレーム画像を画面表示する場合に、処理落ちがあると判定された場合、処理落ちのある期間、画面表示を変更せずにロックすることとしてもよい。
 この構成によれば、画面表示の乱れを抑止することができる。
 請求項8に記載の態様である表示切替方法は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置に用いられる表示切替方法であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断ステップと、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施ステップとを含む。
 請求項9に記載の態様である集積回路は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える集積回路であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
 この構成によれば、バッファを入れ替えた後において、第1及び前記第2描画コンポーネントの描画処理時間の合計が短縮するので、従来よりもコマ落ち、フレーム画像の表示遅延などを低減することができる。
 
 以下、本発明の実施の形態について、図面を参照しながら説明する。
 1.実施の形態1 
 本発明の一実施の形態に係る表示切替装置を備えた情報処理端末1は、タッチパネル方式のディスプレイを備える携帯型の情報処理端末である。情報処理端末1は、一例として、情報処理端末1の現在位置を地図画像上に表示するナビゲーションを行うアプリケーションを実行するものとする。このアプリケーションは、地図画像を表示する機能を担当するコンポーネント(以下、第1描画コンポーネントという。)と、写真を表示する機能を担当するコンポーネント(以下、第2描画コンポーネントという。)を含んでおり、地図画像の上に、その地図上の一地点の実際の風景を撮影した写真画像を表示するなど、各描画コンポーネントが生成した画像を必要に応じて重ね合わせて表示する。
 通常、情報処理端末1を保持するユーザが移動するたびに、情報処理端末1の現在位置が移動するので、ディスプレイに表示される地図画像が連続的に更新される。このとき、地図画像を表示する第1描画コンポーネントの方が、写真を表示する第2描画コンポーネントよりも画像処理等に要する処理負荷が大きい。ここで、情報処理端末1は、高速なデータ処理が可能な高速メモリデバイスと、汎用メモリデバイスの2種類のメモリデバイスを有しており、第1描画コンポーネントに高速メモリデバイスが割り当てられる。
 しかし、ユーザが、地図画像の上に重ねて表示された写真画像を拡大し、縮小し、一部を切り出して表示するなどの操作を指示した場合、第2描画コンポーネントの処理負荷が、第1描画コンポーネントの処理負荷を上回る。このときは、情報処理端末1における表示切替装置が、第1描画コンポーネントが使用するメモリデバイスと、第2描画コンポーネントが使用するメモリデバイスを入れ替えて、処理負荷の高い方が高速メモリデバイスを用いるよう制御する。
 以下、各描画コンポーネントを使用するメモリデバイス(バッファ)を適切に切り替えるための構成、処理手順について説明する。
 1.1.構成
 本発明の一実施の形態に係る情報処理端末1は、具体的には、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、タッチパネル方式のディスプレイユニット、キーパッドなどから構成されるコンピュータシステムである。ROMにはコンピュータプログラムが記憶されており、情報処理端末1は、RAM上に読み出されたコンピュータプログラムに従いCPUが動作することにより、その機能を達成する。
 図1は、情報処理端末1の構成を模式的に表したブロック図である。
 図1では、情報処理端末1について、上述のコンピュータプログラムに該当するソフトウェア部と、ハードウェア部とに分けて記載している。ソフトウェア部は、フレームバッファ管理部11、表示切替部21、アプリケーション部13及び合成管理部14を含み、ハードウェア部は、表示部15、入力部16、情報格納部17、高速メモリデバイス18、汎用メモリデバイス19及び表示メモリデバイス113を含む。ここで、表示切替部21と情報格納部17とが、表示切替装置12を構成している。
以下、各構成について詳細に説明する。
 (1)ハードウェア部
 高速メモリデバイス18及び汎用メモリデバイス19は、画像データを保持するメモリデバイスである。高速メモリデバイス18は、汎用メモリデバイス19に比べて、データの入出力を高速に行うことができる。高速メモリデバイス18上には、高速な描画処理用のフレームバッファである高速フレームバッファ31が確保される。汎用メモリデバイス19上には、通常の描画処理用のフレームバッファである汎用フレームバッファ32が確保される。汎用フレームバッファ32を用いて描画処理を行う場合は、高速フレームバッファ31を用いて同じ処理を行う場合と比べてCPU等にかかる負荷は大きくなる。
 表示メモリデバイス20は、画像メモリである。表示メモリデバイス20上には、ディスプレイに表示される映像の元になる画像を保持する表示バッファ33が確保される。
 表示部15は、表示制御部34及びディスプレイ35を含んで構成される。
 ディスプレイ35は、画像を表示するデバイスであり、具体的には、液晶ディスプレイである。
 表示制御部34は、表示バッファ33に保持されている画像データにより表される画像を、所定の周期的なリフレッシュタイミング毎に読み出し、ディスプレイ35に表示させる。
 表示制御部34は、情報取得要求に応じて、リフレッシュタイミングの間隔を示すリフレッシュ間隔情報と、直近に行ったリフレッシュの時刻を示すリフレッシュ時刻情報とを含む表示情報46を通知する。
 入力部16は、キーパッド、タッチパネルを備え、これらを用いて行われるユーザ操作を検知し、入力されたユーザ操作を表すキー入力情報や、タッチパネル操作情報(以下、キー入力情報、タッチパネル操作情報をユーザ操作情報と総称する。)をアプリケーション部13に通知する。
 情報格納部17は、情報を保持するセキュアなメモリデバイスである。情報格納部17には、第1描画性能情報41、第2描画性能情報42、第1フレームバッファ情報43、第2フレームバッファ情報44等の情報が記憶される。
 第1フレームバッファ情報43は、高速フレームバッファ31の先頭アドレス、汎用フレームバッファ32の先頭アドレスのいずれか一方と一致する情報である。
 第1フレームバッファ情報43の内容は、適宜、表示切替部21により書き換えられる。よって、第1フレームバッファ情報43は、あるときには高速フレームバッファ31の先頭アドレスと一致し、また別のときには汎用フレームバッファ32の先頭アドレスと一致する。第2フレームバッファ情報44についても、第1フレームバッファ情報と同様である。ここで、表示切替部21は、第1フレームバッファ情報43と、第2フレームバッファ情報44との内容が相補的な関係になるよう書き換える。すなわち、第1フレームバッファ情報43の内容を高速フレームバッファ31の先頭アドレスと一致させるときには、第2フレームバッファ情報44の内容を汎用フレームバッファ32の先頭アドレスと一致させる。逆に、表示切替部21は、第1フレームバッファ情報43の内容を汎用フレームバッファ32の先頭アドレスと一致させるときには、第2フレームバッファ情報44の内容を高速フレームバッファ31の先頭アドレスと一致させる。第1描画性能情報41、第2描画性能情報42については、後述する。
 (2)ソフトウェア部
 (フレームバッファ管理部11)
 フレームバッファ管理部11は、フレームバッファを用いるアプリケーションの数や、アプリケーションに含まれるコンポーネントの数に応じて、高速メモリデバイス18上に高速フレームバッファ31として領域を確保し、汎用メモリデバイス19上に汎用フレームバッファ32として領域を確保する。
 本実施の形態では、一例として、フレームバッファ管理部11は、フレームバッファを用いるコンポーネントの数と同数のフレームバッファを確保するものとするが、これに限らない。各アプリケーション、コンポーネントが使用するバッファが複数である場合は、必要数だけ確保してよい。また、フレームバッファの確保は、静的に行ってもよいし、動的に行ってもよい。
 フレームバッファ管理部11は、確保した高速フレームバッファ31の先頭アドレスを、高速フレームバッファ先頭アドレス114として保持し、確保した汎用フレームバッファ32の先頭アドレスを、汎用フレームバッファ先頭アドレス115として保持する。
 (アプリケーション部13)
 アプリケーション部13は、コンポーネントとしての第1描画コンポーネント61及び第2描画コンポーネント62と、実行制御部63とを備える。本実施の形態では、実行される描画コンポーネントは、第1描画コンポーネント61と第2描画コンポーネント62との2個としているが、これに限らず、3個以上の描画コンポーネントを用いることとしてもよい。
 アプリケーション部13は、一例として、地図を表示する機能と写真を表示する機能とを併せ持つアプリケーションである。第1描画コンポーネント61が地図を表示する機能を有し、第2描画コンポーネント62が写真を表示する機能を有する。合成管理部14が、第1描画コンポーネント61により生成された地図画像と、これとは別に第2描画コンポーネント62により生成された写真画像とを重ね合わせる。これにより、地図がディスプレイ35の表示領域全面に表示されている上に、地図上の一地点の様子を撮影した写真が、その地図上の一地点の近傍に表示されるというような、地図と写真との2つの画像が重ね合わされた表示がなされる。
 第1描画コンポーネント61は、第1描画エンジン部71と、第1実行管理部72とを備える。
 第1描画エンジン部71は、情報格納部17に記憶されている第1フレームバッファ情報43により指定されるバッファを用いて描画処理を実施する。
 第1実行管理部72は、第1描画コンポーネント61の描画処理を管理する処理部であり、第1描画エンジン部71に対して描画命令を与え、情報格納部17に第1描画性能情報41を格納する。
 第1描画性能情報41は、第1描画コンポーネント61の描画性能に関する情報であり、描画所要時間情報、描画間隔情報及び前回描画開始時刻とを含む。描画所要時間は、描画すべき画像データの生成処理を開始してから、生成した画像データをフレームバッファへ書き込むまでの時間を示す。描画間隔は、画像データを描画する時間間隔を示している。例えば、描画コンポーネントが、15fps(frame per second)で各フレームを処理する場合であれば、描画間隔は1/15秒となる。描画間隔については、予め定められている。前回描画開始時刻は、描画処理を実行するごとにその開始した時刻を記録するものである。
 第2描画コンポーネント62は、第2描画エンジン部73と、第2実行管理部74とを備える。
 第2描画エンジン部73は、情報格納部17に記憶されている第2フレームバッファ情報44により指定されるバッファを用いて描画処理を実施する。
 第2実行管理部74は、第2描画コンポーネント62の描画処理を管理する処理部であり、第2描画エンジン部73に描画命令を与え、情報格納部17に第2描画性能情報42を格納する。
 第2描画性能情報42は、第2描画コンポーネント62の描画性能に関する情報であり、描画所要時間情報、描画間隔情報及び前回描画開始時刻を含む。描画所要時間、描画間隔については、第1描画性能情報41に関し説明したものと同様である。
 実行制御部63は、入力部16から受け取ったユーザ操作情報等に基づき、第1描画コンポーネント61と第2描画コンポーネント62の起動、実行、停止、終了等の制御を行う。また、実行制御部63は、必要に応じて、ユーザ操作情報等を第1実行管理部72、第2実行管理部74に通知する。
 (表示切替部21)
 表示切替部21は、切替判断部81及び切替実施部82を含んで構成される。
 切替判断部81は、第1描画性能情報41及び第2描画性能情報42を情報格納部17から取得し、第1描画性能情報41及び第2描画性能情報42を用いて、第1描画コンポーネント61、第2描画コンポーネント62それぞれが描画処理を実行する場合のCPU負荷を算出する。
 CPU負荷は、実測してもよいが、本実施の形態では実測はせず、下式で簡易に算出する。
   CPU負荷 = 描画所要時間 / 描画間隔  (式1)
 そして、切替判断部81は、算出したCPU負荷に基づいて、各描画コンポーネントが用いるフレームバッファの切替が必要か否かを判断し、バッファ切替が必要と判断した場合、切替実施部82へバッファ切替の実行を要求する。ここで、切替判断部81は、CPU負荷の高い描画コンポーネントが、高速描画が可能な高速フレームバッファ31を用いて描画処理を行っていない場合にバッファ切替が必要と判断し、CPU負荷の高いアプリケーションが、高速描画が可能な高速フレームバッファ31を用いて描画処理を行っていればバッファ切替は不要と判断する。
 切替実施部82は、切替判断部81から切替の実施の要求を受け付けると、高速フレームバッファ31の先頭アドレスと、汎用フレームバッファ32の先頭アドレスとをフレームバッファ管理部11から取得する。そして、情報格納部17における第1フレームバッファ情報43と第2フレームバッファ情報44とのうち、高速描画を要する描画コンポーネントに対応する方に、高速フレームバッファ31の先頭アドレスを書き込み、他方に汎用フレームバッファ32の先頭アドレスを書き込む。
 例えば、切替判断部81によってバッファ切替が必要と判断され、高速描画を要する描画コンポーネントが、第1描画コンポーネント61であった場合には、高速フレームバッファ31の先頭アドレスを第1描画コンポーネント61に対応する第1フレームバッファ情報43として、情報格納部17に書き込むこととなる。このとき、第2描画コンポーネント62に対応する第2フレームバッファ情報44としては、汎用フレームバッファ32の先頭アドレスを書き込むこととなる。
 また、切替実施部82は、フレームバッファを切り替えることにより、合成時の重なり設定の変更を合成管理部14に通知する。ここで、重なり設定とは、高速フレームバッファ31に描かれた画像と、汎用フレームバッファ32に描かれた画像のいずれを上に表示するかを定めたものである。
 ここで、バッファの切り替えが生じる場合について、具体例を用いて説明する。
 ユーザが地図を操作し、表示中の地図画像を連続して更新している場合には、第1描画コンポーネント61のCPU負荷が第2描画コンポーネント62のCPU負荷よりも高いため、第1描画コンポーネント61が高速フレームバッファ31を使用する。このとき、第2描画コンポーネント62は汎用フレームバッファ32を使用する。ここで、ユーザが、特定の写真を拡大表示するといった操作を行うと、ユーザの操作対象が地図から写真に変化する。このとき、第2描画コンポーネント62のCPU負荷が、第1描画コンポーネント61のCPU負荷より高くなる場合があり、このときバッファの切替処理を行う。切替処理以後は、第2描画コンポーネント62が、高速フレームバッファ31を使用し、第1第2描画コンポーネント62が、汎用フレームバッファ32を使用することになる。
 (合成管理部14)
 合成管理部14は、切替実施部82から受け取る重なり設定に基づき、高速フレームバッファ31に格納されているデータから生成した画像と、汎用フレームバッファ32に格納されたデータから生成した画像とを重ねて合成し、合成により生じた合成画像を表示フレームバッファ33に書き込む。
 1.2.動作
 以下に、情報処理端末1におけるバッファ切替処理について説明する。
 図2は、本実施の形態に係るバッファ切替処理の流れを示すフローチャートである。
 情報処理端末1において、アプリケーション部13が既に起動し、第1描画コンポーネント61と第2描画コンポーネント62とがそれぞれ描画処理を行っているものとする。この状態で、バッファ切替処理が一定時間毎に行われるものとするが、これに限らず、適切なときに行ってよい。例えば、ユーザ指示がある毎に行うこととしてもよい。
 まず、切替判断部81は、情報格納部17から第1描画性能情報41及び第2描画性能情報42を取得し、取得した第1描画性能情報41及び第2描画性能情報42に基づいて、第1描画コンポーネント61及び第2描画コンポーネント62のCPU負荷を上述の式1に基づき算出する(S101)。
 次に、切替判断部81は、第1描画コンポーネント61のCPU負荷と、第2描画コンポーネント62のCPU負荷を参照し、最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画しているか否か判定する(S102)。具体的には、最もCPU負荷の高い描画コンポーネント(第1描画コンポーネント61と第2描画コンポーネント62とのいずれか)に対応するフレームバッファ情報(第1フレームバッファ情報43と、第2フレームバッファ情報44とのいずれか)が、高速フレームバッファの先頭アドレスと一致するか否かにより判断する。一致する場合は、最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画していることとなり、一致しない場合には、最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画していないことになる。
 最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画しているならば(S102がYes)、切替判断部81は、バッファ切替は必要ないと判断し、バッファ切り替え処理を終了する。一方、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画していないと判断した場合(S102がNo)、切替判断部81は、バッファ切替が必要と判断し、切替実施部82へバッファ切替の実行を要求する。
 バッファ切替の実行要求を受けた切替実施部82は、第1実行管理部72と第2実行管理部74に実行状態(描画処理中か否か)を問い合わせ、第1描画コンポーネント61及び第2描画コンポーネント62の双方の描画処理が終了した後に、第1実行管理部72と第2実行管理部74に対し、描画処理を実行しないよう命令する(S103)。描画処理途中に、描画処理の中断を指示すると、ディスプレイ35に表示される映像が乱れてしまうためである。なお、第1描画コンポーネント61及び第2描画コンポーネント62の双方が描画処理中でない場合は、切替実施部82は直ちに描画処理を実行しないよう命令する。
 次に、切替実施部82は、フレームバッファ管理部11から、高速フレームバッファ31の先頭アドレスと、汎用フレームバッファ32の先頭アドレスを取得する(S104)。
 次に、切替実施部82は、S102において、切替判断部81によりCPU負荷が高いと判断された描画コンポーネント(第1描画コンポーネント61、第2描画コンポーネント62のいずれか)に対応するフレームバッファ情報(第1フレームバッファ情報43又は第2フレームバッファ情報44)の内容を高速フレームバッファ31の先頭アドレスで書き換える。また、切替実施部82は、CPU負荷が高いと判断されなかった方の描画コンポーネントに対応するフレームバッファ情報の内容を、汎用フレームバッファ32の先頭アドレスで書き換える(S105)。
 これにより、CPU負荷が高いと判断された描画コンポーネントには、高速フレームバッファ(高速フレームバッファ31)が割り振られ、以降の描画処理には、高速フレームバッファ31を使用することになる。
 次に、切替実施部82は、合成管理部14に通知して、高速フレームバッファ31と汎用フレームバッファ32の、合成時の重なり設定を変更する(S106)。例えば、切替前において、高速フレームバッファ31に地図画像が格納され、汎用フレームバッファ32に写真画像が格納されており、高速フレームバッファ31に格納された地図画像の上に、汎用フレームバッファ32に格納された写真画像が重ねて表示されていたものとする。この場合、切替後には、汎用フレームバッファ32に地図画像が格納され、高速フレームバッファ31に写真画像が格納されることになる。重なり設定を変更しない場合、高速フレームバッファ31に格納された写真画像の上に汎用フレームバッファ32に格納された地図画像が表示されることになり、ディスプレイ35には、結局地図画像のみが表示されることになってしまう。これを避けるために、高速フレームバッファ31に格納された画像と、汎用フレームバッファ32に格納された画像との重なり順序を入れ替えるように重なり設定を変更する。
 最後に、切替実施部82は、第1実行管理部72と第2実行管理部74に、描画処理を再開するよう命令する(S107)。描画処理を再開した後は、S102で切替判断部81によりCPU負荷が高いと判断された描画コンポーネントが、高速フレームバッファ31を使用して描画処理を行うことになる。
 かかる構成によれば、複数の描画コンポーネントを持つアプリケーションを実行中に、ユーザー操作などで各描画コンポーネントの処理にかかるCPU負荷の大小が変化しても、CPU負荷の高い描画コンポーネントが随時、描画処理の所要時間の短い高速フレームバッファ31に対して描画することとなるので、CPU負荷を低減し、描画処理時間を短縮でき、ひいては、フレームレートを向上させ、及びユーザー操作に対するレスポンスを向上させることができる。
 2.実施の形態2
 実施の形態1では、CPU負荷に応じてバッファの切り替え要否を判断していたが、実施の形態2では、これに加え、バッファの切り替えが必要と判断した場合に、予め備える複数のバッファ切替手順から最適なものを選択し、選択したバッファ切替手順によりバッファの切り替えを行う。最適なバッファ切替手順は、各切替手順についての描画遅延の発生、コマ落ちの発生、CPU負荷を予測し、予測結果から総合的に判断して決定する。
 ここで、複数のバッファ切替手順は、(1)バッファの内容を相互にコピーすることなくバッファを切り替える手順(以下、第1切替手順という。)、(2)第1描画コンポーネント61が用いているバッファの内容を第2描画コンポーネント62が用いているバッファにコピーし、その後、バッファを切り替える手順(以下、第2切替手順という。)、(3)第2描画コンポーネント62が用いているバッファの内容を第1描画コンポーネント61が用いているバッファにコピーし、その後、バッファを切り替える手順(以下、第3切替手順という。)の3つである。なお、以下では、バッファを切り替えずに描画処理を進める手順を、便宜上、第4切替手順という。
 なお、第1切替手順では、バッファ切替手順の選択直前にバッファに記憶されている内容は破棄されてしまうので、第1描画コンポーネント61、第2描画コンポーネント62のそれぞれが、新たに、バッファ切替手順の選択直前に用いていたのと異なるフレームバッファを用いて描画処理を行うことになる。
 2.1.構成
 図3は、本発明の実施の形態2における情報処理端末1の構成の一例を示すブロック図である。
 図3において、図1と同じ構成要素については同じ符号を用い、重複する説明は省略する。
 本実施の形態に係る情報処理端末1は、実施の形態1の構成と以下の点で異なっている。
(1)フレームバッファ管理部11内に、フレームバッファ生成管理部94、フレームバッファ状態管理部93が設けられている。なお、フレームバッファ生成管理部94が、実施の形態1のフレームバッファ管理部11に相当する。
(2)描画コピー制御部22が追加されている。
(3)表示切替部21に、切替手順選択部83と表示時刻算出部84とが追加されている。
(4)情報格納部17に記録される情報に、切替手順情報45と表示情報46とが追加されている。
(5)表示メモリデバイス20に、第1直前フレームバッファ36と第2直前フレームバッファ37とが設けられている。
(6)表示切替装置12が、情報格納部17、表示切替部21及び描画コピー制御部22から構成されている。
 以下、これらの相違点を中心に説明する。
(フレームバッファ管理部11)
 フレームバッファ管理部11は、フレームバッファ状態管理部93と、フレームバッファ生成管理部94とを備える。
 フレームバッファ状態管理部93は、表示制御部34から表示情報46を取得して情報格納部17に記録する。本実施の形態では、表示制御部34が、リフレッシュタイミング毎にリフレッシュ時刻情報を更新し、最新のリフレッシュ時刻情報を含む最新の表示情報46をリフレッシュタイミング毎にフレームバッファ状態管理部93に通知するものとする。
 フレームバッファ生成管理部94は、フレームバッファを用いるアプリケーションの数や、アプリケーションに含まれるコンポーネントの数に応じて、高速メモリバッファ18上に高速フレームバッファ31としてメモリ領域を確保し、汎用メモリデバイス19上に汎用フレームバッファ32としてメモリ領域を確保する。そして、フレームバッファ生成管理部94は、確保した高速フレームバッファ31の先頭アドレスを高速フレームバッファ先頭アドレス114として保持し、確保した汎用フレームバッファ32の先頭アドレスを汎用フレームバッファ先頭アドレス115として保持する。ここで、本実施の形態では、フレームバッファ生成管理部94は、フレームバッファを用いるコンポーネントの数と同数のフレームバッファを確保するものとする。具体的には、高速メモリデバイス18における高速フレームバッファ31と、汎用メモリデバイス19における汎用フレームバッファ32の2つのフレームバッファを確保するものとする。しかしながら、2つのフレームバッファを確保するとしたのは、説明を簡潔にするため便宜上定めたものであり、これに限らない。各アプリケーション、コンポーネントが使用するバッファが複数である場合は、2個に限らず必要数だけ、あるいは必要数の一部だけ確保してよい。また、フレームバッファの確保は、静的に行ってもよいし、動的に行ってもよい。また、高速フレームバッファ31のメモリ領域が許す限り、高速フレームバッファ31上にフレームバッファを確保することとした方が、描画処理の能力は向上する。
 フレームバッファ生成管理部94は、更に、高速フレームバッファ31を用いた描画処理の所要時間を、汎用フレームバッファ32を用いて同じ描画処理を行うとした場合の所要時間に変換する第1変換係数、及び、汎用フレームバッファ32を用いた描画処理の所要時間を、高速フレームバッファ31を用いて同じ描画処理を行うとした場合の所要時間に変換する第2変換係数を保持している。例えば、高速フレームバッファ31及び汎用フレームバッファ32を用いて同じ描画処理を行うとしたときに、高速フレームバッファ31を用いると0.1秒要し、汎用フレームバッファ32を用いると0.2秒要する場合であれば、第1変換係数は2となり、第2変換係数は0.5となる。
(描画コピー制御部22)
 描画コピー制御部22は、コピー要求に従い、高速フレームバッファ31と汎用フレームバッファ32のうちの一方に記録された内容を他方へコピーし、また、双方に記録されている内容を相互にコピーして入れ替える。
(表示切替部21)
 表示切替部21は、切替判断部81、切替実施部82に加え、切替手順選択部83と、表示時刻算出部84とを含んで構成される。
(表示時刻算出部84)
 表示時刻算出部84は、切替手順選択部83から、第1~第4切替手順のうちいずれかを指定した表示時刻算出要求を受け取る。そして、表示時刻算出部84は、第1描画コンポーネント61及び第2描画コンポーネント62のそれぞれが定期的に行う描画処理それぞれの開始時刻、終了時刻を算出する。そして、各描画処理により生成し、書き込まれた画像が、どのリフレッシュタイミングで表示されるかを算出する。表示時刻算出部84により算出された情報に基づいて、切替手順選択部83により、各切替手順によるフレーム画像の表示遅延、コマ落ち、CPU負荷の増加について総合的に評価され、切替手順が選択される。
 図4は、表示時刻算出部84による、表示時刻算出処理の手順を示すフローチャートである。
 図5は、第2切替手順を行う場合の描画処理を示すタイミングチャートである。また、タイミングチャートに、描画される画面イメージを模式的に現す図形を付加している。
 以下では、説明の便宜上、まず、図5について説明する。その後、図4のフローチャートについて、図5を参照しつつ、第1切替手順が指定されている場合を例に説明する。
 図5の横軸tは、時刻を示す。
 図5の縦軸は、高速FB(フレームバッファ)、汎用FB、表示FBの各欄に分かれており、高速FBの欄は、描画処理が高速フレームバッファ31を用いて行われることを示し、汎用FBの欄は、描画処理が汎用フレームバッファ32を用いて行われることを示し、表示FBの欄は、描画処理が表示フレームバッファ33を用いて行われることを示す。
 図5中、TRa(aは整数であり、図中ではa=-1、0、1~5)は、リフレッシュタイミングを示す。各リフレッシュタイミング相互の間隔は一定時間TIである。TIは、表示情報46に含まれるリフレッシュ間隔情報であり、ディスプレイの表示に関する性能、仕様等により定まる。
 描画bバー(b=1、2)は、第b描画コンポーネントが、このバーの時間軸方向の幅で示される処理期間において描画処理を行うことを表現している。
 例えば、描画1バー201は、第1描画コンポーネント61が、このバーの時間軸方向の幅で示される処理期間(TD1)において描画処理を行うことを表現している。描画1バー201は、高速FB欄に記載されており、この描画処理は高速フレームバッファ31を用いて行われる。描画1バー201に示される処理は、時刻T10に開始し、時刻T11に終了する。
描画1バー202~205についても、描画1バー201と同様である。ただし、描画1バー203~205については、汎用FB欄に記載されており、この描画処理は汎用フレームバッファ32を用いて行われる。描画1バー203~205の処理期間(TD4)は、高速フレームバッファ31を用いる描画1バー201~202に比べ長くなっている(TD1<TD4)。
 描画2バー211は、第2描画コンポーネント62が、このバーの時間軸方向の幅で示される期間(TD2)において描画処理を行うことを示す。描画2バー211は、汎用FB欄に記載されており、この描画処理は汎用フレームバッファ32を用いて行われる。描画2バー211に示される処理は、描画1バー201に示される描画処理が終了するT11に開始し、時刻T12に終了する。描画2バー212~214についても、描画2バー211と同様である。ただし、描画2バー212~214については、高速FB欄に記載されており、これらの描画処理は高速フレームバッファ31を用いて行われており、処理期間(TD3)は、描画2バー211に比べ短くなっている(TD2<TD3)。
 T13~T20についても、T10~T12と同様、それぞれ描画処理の開始、終了時刻を示す。
 合成バー221は、このバーの時間軸方向の幅で示される期間において、合成管理部14により合成画像が生成され、その合成画像が表示制御部34によりディスプレイ35に表示されることを示す。合成バー221により示される描画処理は、リフレッシュタイミングTR0において開始する。合成バー221は、表示FB欄に記載されており、この描画処理が表示フレームバッファ33を用いて行われることを示している。合成バー222~225についても、合成バー221と同様である。
 メモリコピーバー231は、このバーの時間軸方向の幅で示される期間において、描画コピー制御部22により、高速フレームバッファ31の内容を、第2フレームバッファ32にコピーしていることを示す。TDCは、コピーに要する時間を示している。
 また、描画1バー201から吹き出し中に示された矩形(画像251)は、第1描画コンポーネント61がフレームバッファに書き込む画像データ、及び画像データに基づきディスプレイ35に表示される画像イメージを模式的に示している。画像251中の数値「0」は、第1描画コンポーネント61が書き込む画像に付された番号(フレーム番号)を示す。なお、このフレーム番号は、画像相互の相対的な順番を示すために便宜上用いているだけで、この番号自体が特別な意図を有する訳ではない。
 同様に、描画2バー211から、吹き出し中に示されたハッチングされた矩形(画像261)は、第2描画コンポーネント62がフレームバッファに書き込む画像データ、及び画像データに基づきディスプレイ35に表示される画像イメージを模式的に示している。画像261中の数値「1」は、第2描画コンポーネント62が書き込む画像に付されたフレーム番号を示す。
 また、合成バー221から、吹き出しで表した領域中に示された矩形(画像271)は、合成管理部14が表示フレームバッファ33に書き込む画像を模式的に示している。この画像271は、画像251の上に画像282が合成された画像である。
 画像252~255については、画像251と同様である。また、画像262~264については、画像261と同様である。また、画像272~275については、画像271と同様である。
 次いで、図5を参照しつつ、図4のフローチャートに従って、説明する。
 図4に係る表示時刻算出処理では、上述のように、第1描画コンポーネント61及び第2描画コンポーネント62のそれぞれが定期的に行う描画処理それぞれの開始時刻、終了時刻(T11~T20)を算出する。また、各描画処理により生成し、書き込まれた画像(画像251~264等、画像261~画像255等)が、どのリフレッシュタイミング(TR0~TR4等)で表示されるかを算出する。
 具体的には、まず、切替手順選択部83が、表示時刻算出部84に対し、切替開始仮時刻を含み算出対象手順を指定した表示時刻算出要求を送信する。算出対象手順は、第1~第4切替手順のいずれかを示す。ここでは、算出対象手順は、第2切替手順であるとする。切替開始仮時刻は、切替手順選択部83により次のように定められる。すなわち、切替手順選択部83は、表示時刻算出要求を送信しようとしたときに、第1描画コンポーネント61、第2描画コンポーネント62のいずれもが描画処理中でなければ、現在時刻を切替開始仮時刻とする。また、第1描画コンポーネント61、第2描画コンポーネント62のいずれかが描画処理中であれば、その描画処理の終了直後を切替開始仮時刻とする。図5の例では、切替手順選択部83は、描画処理の終了直後TC(T13)を切替開始仮時刻として表示時刻算出要求に含める。
 なお、リフレッシュタイミングTRa(aは整数)は、TCの直前のリフレッシュタイミングをTR0としてaに値を割り振る。また、フレーム番号は、TCの直前に描画処理された画像のフレーム番号を1とし、順に割り振っている。
 表示時刻算出部84は、切替手順選択部83から表示時刻算出要求を受けて処理を開始する。表示時刻算出部84は、表示時刻算出要求に含まれる切替開始仮時刻を変数tに格納する(S401)。
 次に、表示時刻算出部84は、情報格納部17から第1描画情報41と第2描画情報42とを取得する。そして、第1描画コンポーネント61について、t直前の描画開始時刻を算出する(S402)。図5の例の場合、描画開始時刻は、第1描画情報41に含まれる前回描画開始時刻情報で示される描画1バー202の先頭時刻T12となる。表示時刻算出部84は、整数型の変数m、nを用意している。mは第2描画コンポーネントの描画する画像の通し番号を示し、nは第1描画コンポーネントの描画する画像の通し番号を示す。このS402で算出される先頭時刻に係る画像のフレーム番号(n)を1とする。
 第2描画コンポーネント62についても同様に、t直前の描画開始時刻を算出する(S403)。図5の例の場合、描画開始時刻は、第2描画情報42に含まれる前回描画開始時刻情報で示される描画2バー211の先頭時刻T11となる。このS403で算出される先頭時刻に係る画像のフレーム番号(m)を1とする。
 次に、表示時刻算出部84は、算出対象手順が第2切替手順であるか否か判定し(S403)、第2切替手順であった場合(S403:YES)、高速フレームバッファ31に記憶されている内容を汎用フレームバッファ32へコピーするとした場合の完了時刻(T14)を算出し、tに格納する(S404)。なお、高速フレームバッファ31に記憶されている内容を汎用フレームバッファ32へコピーするのに要する時間TDCは、既知であるとする。
 次に、表示時刻算出部84は、算出対象手順が第3切替手順か否か判定し(S405)、第3切替手順であった場合(S405:YES)、汎用フレームバッファ32に記憶されている内容を高速フレームバッファ31へコピーするとした場合の完了時刻を算出し、tに格納する(S406)。なお、汎用フレームバッファ32に記憶されている内容を高速フレームバッファ31へコピーするのに要する時間は、既知であるとする。
 次に、表示時刻算出部84は、m、nに2を設定する(S407)。
 次に、表示時刻算出部84は、時刻t以降であって、時刻tに最も近い時刻に描画処理を行う描画コンポーネントがいずれであるか判断する(S406)。
 S408で、第1描画コンポーネント61であると判断した場合、S411に進み、第2描画コンポーネント62であると判断した場合、S409に進む。図5の場合、時刻t(=TC)に最も近い時刻に描画処理を開始する描画コンポーネントは、時刻tに最も近い先頭時刻T14に処理を開始する第2描画コンポーネントである。
 S408で、第2描画コンポーネント62であると判断した場合(S408:第2描画コンポーネント)、表示時刻算出部84は、時刻tに最も近い時刻に開始する描画処理の描画処理終了時刻を算出し、tに上書き格納する(S409)。
 図5の場合、描画処理終了時刻は、描画2バー212の最後であるT15となり、tにT15を上書き格納する。
 なお、TC以降の各描画バーで示される処理の所要時間は、あくまで、TC時点での推測である。また、描画処理に要する時間は、全ての描画処理で同一では無い場合もあるが、ここでは、tの直近に行った描画処理について測定した所要時間を、以後に行うべき描画処理の所要時間とみなす。但し、直近に行った描画処理に用いたフレームバッファと、以後行う描画処理に用いるフレームバッファとが異なる場合には、上述のように、直近に行った描画処理について測定した所要時間を以後に行うべき描画処理の所要時間とみなすことはできない。よって、直近に行った描画処理について測定した所用時間に、第1又は第2変換係数を乗じて、以後に行うべき描画処理の所要時間とみなす。なお、描画処理時間は、予め定めておいた時間、描画処理の平均時間等を用いることとしてもよい。
 次に、表示時刻算出部84は、情報格納部17から表示情報46を取得し、表示情報46に含まれるリフレッシュ時刻情報を用いて、時刻t以降の直近のリフレッシュタイミングを算出する。表示時刻算出部84は、このリフレッシュタイミングを第2描画コンポーネント62のm番目の画面表示時刻として保持する(S410)。図5の例では、S409でtにはT15が設定されており、T15以降の直近のリフレッシュタイミングTRa(a=2)が、第2描画コンポーネント62のm(=2)番目のリフレッシュタイミングである。このときのaを画面表示時刻として保持する。
 次に、表示時刻算出部84は、第2描画コンポーネント62のm番目の描画フレームの描画開始時刻を算出し、保持する(S411)。図5の場合、第2描画コンポーネント62のm(=2)番目の描画開始時刻は、T14である。
 以上のS409~S411の処理により、表示時刻算出部84は、第2描画コンポーネント62のm(=2)番目の画像の描画開始時刻、描画終了時刻、m(=2)番目の画像が表示されるリフレッシュタイミングを算出したことになる。
 次に、表示時刻算出部84は、mに1を加え(S412)、S417に遷移する。
 表示時刻算出部84は、時刻tを元に、S409からS412、またはS414からS416の処理をもう一度行うか否かを判断する(S417)。判断の基準としては、tが予め定めた上限値に達したか否かで判断する。上限値は、本処理に要した時間に基づいて設定し直すこととしてもよい。
 S417において、もう一度処理を行うと判断した場合(S417がNO)、S408に移行し、もう一度処理を行うと判断されなかった場合(S417がYES)、処理を終了する。本実施の形態では、m、nが4になるまでの時間程度の間、算出処理は終了せず、S417がNOとなるよう上限値を設定しているものとする。
 図5の例においてS417からS408へ最初に移行したとき、tはT15であったので、S408において、時刻t直後に描画処理を行う描画コンポーネントは、第1描画コンポーネント61と判断される。このとき実行するS413~S416は、第2描画コンポーネント61について既に説明したS409~S412とは、第2描画コンポーネント62が第1描画コンポーネント61に置き換わったこと、変数mがnに置き換わったことを除き同様である。よって、S413~S416については、これ以上の説明を省略する。以上のS413~S415の処理により、表示時刻算出部84は、第1描画コンポーネント61のm(=2)番目の画像の描画開始時刻、描画終了時刻、m(=2)番目の画像が表示されるリフレッシュタイミングを算出したことになる。
 以上の処理を行った結果、第2描画コンポーネント62及び第1描画コンポーネント61のそれぞれについて、m=1~4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
 図6は、第4切替手順についての描画処理を示すタイミングチャートである。
 図6の図形、記号等の参照方法は図4と同様である。
 図6の第4切替手順と、図4の第2切替手順の違いは、大きくは、図4でメモリコピーバー231として現したメモリ内容のコピーを行わないこと、及びTCにおいて第1描画コンポーネント61と第2描画コンポーネント62が用いるメモリバッファを切り替えていないことである。
 第4切替手順についても、図4のフローチャートを用いることにより、描画1バー201~202、311~313、及び描画2バー211、321~323の描画処理それぞれについて、m=1~4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
 図7は、第1切替手順についての描画処理を示すタイミングチャートである。
 図7の図形、記号等の参照方法は図4と同様である。
 図7の第1切替手順と、図4の第2切替手順の違いは、大きくは、図4でメモリコピーバー231として現したメモリ内容のコピーを行わないことである。
 第1切替手順についても、図4のフローチャートを用いることにより、描画1バー201~202、361~363、及び描画2バー211、351~353の描画処理それぞれについて、m=1~4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
 図8は、第3切替手順についての描画処理を示すタイミングチャートである。
 図8の図形、記号等の参照方法は図4と同様である。
 図8の第3切替手順と、図4の第2切替手順の違いは、大きくは、図4でメモリコピーバー231として現したメモリ内容のコピーにおける、コピー元とコピー先が逆転していることである。すなわち、汎用フレームバッファ32に記憶されている内容を高速フレームバッファ31へコピー(メモリコピーバー231として表す)している点である。
 第3切替手順についても、図8のフローチャートを用いることにより、描画1バー201~202、381~383、及び描画2バー211、391~393の描画処理それぞれについて、m=1~4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
 図9は、第1~第4切替手順についての表示時刻算出処理による算出結果をまとめた表である。
 図9(a)は、第4切替手順における、フレーム番号(m、n)と、第1描画コンポーネント61、第2描画コンポーネントそれぞれについて、どのリフレッシュタイミング(TRaの「a」)で表示されるかを示す。図9(a)のフレーム番号は、m及びnの値を示す。
 例えば、図9(a)の欄511の値は1である。すなわち、第1描画コンポーネント61のフレーム番号1の画像223は、リフレッシュタイミングTR1において表示されることを示す。図9(a)の欄512の値は0である。すなわち、第2描画コンポーネント62のフレーム番号1の画像222は、リフレッシュタイミングTR0において表示されることを示す。また、図9(a)の欄513の値は2である。すなわち、第1描画コンポーネント61のフレーム番号2の画像225は、リフレッシュタイミングTR2において表示されることを示す。図9(a)の欄514の値は2である。すなわち、第2描画コンポーネント62のフレーム番号2の画像224は、リフレッシュタイミングTR2において表示されることを示す。図9(a)の欄515の値は3である。すなわち、第1描画コンポーネント61のフレーム番号3の画像227は、リフレッシュタイミングTR3において表示されることを示す。図9(a)の欄516の値は3である。すなわち、第2描画コンポーネント62のフレーム番号3の画像226は、リフレッシュタイミングTR3において表示されることを示す。
 図9(b)、図9(c)、図9(d)は、それぞれ、第1切替手順~第3切替手順それぞれにおける、フレーム番号(m、n)と、第1描画コンポーネント61、第2描画コンポーネントそれぞれについて、どのリフレッシュタイミング(TRaの「a」)で表示されるかを示す。
 図9(b)、図9(c)、図9(d)については、図9(a)に記載のない遅延欄(欄521、欄522)が設けられている。
 これは、図9(b)に係る第1切替手順を採用した場合に、図9(a)に係る第4切替手順を採用したのと比べて生じる遅延を記載したものである。遅延は少ないほど望ましい。
 図9(b)の欄521には、遅延として-1が記載されている。
 これは、第1描画コンポーネント61に関し、第1切替手順を採用すると、第4切替手順を採用する場合に比べ、遅延が1減っていることを示す。具体的には、第4フレームが表示されるリフレッシュタイミングが、第4切替手順では5(TR5)であるのに対し、第1切替手順では4(TR4)で表示される。
 また、図9(b)の欄522には、値-3が記載されている。
 これは、第2描画コンポーネント62に関し、フレーム番号2、3、4のフレームが表示されるリフレッシュタイミングが、第4切替手順では2(TR2)、3(TR3)、4(TR4)であるのに対し、第1切替手順では1(TR1)、2(TR2)、3(TR3)であり、それぞれ表示されるリフレッシュタイミングが1ずつ繰り上がっているため、この合計値が-3となったものである。
 図9(e)~図9(g)は、第1~第3切替手順それぞれのスコアを示す表である。
 図9(e)は、第1切替手順のスコアを示す表であり、図9(b)に対応する。
 図9(e)の遅延計は、図9(b)の遅延を合計したものである。具体的には、欄521、欄522の値の合計となる。
 図9(e)のコマ落ちは、バッファに画像データを記録し、その後、リフレッシュタイミングが来る前に、再度同バッファに画像データが記録された時に生じる。
 一例として、図9(e)、図9(b)に対応する第1切替手順を示す図7の描画1バー202においては、画像252が高速フレームバッファに記載されるが、リフレッシュタイミングが来る前に、描画2バー361に係る描画処理により、画像262が高速フレームバッファに上書きされてしまう。よって、画像252がコマ落ちする。
 コマ落ちが生じるか否かは、高速フレームバッファに対し、画像データが書き込まれた後、リフレッシュタイミングが来る前に、別の画像データを上書きする描画処理が開始されるか否かにより判断することができる。この判断結果が図9(e)のコマ落ち欄に記載される。
 図9(e)の負荷は、CPU負荷を示す。
 高速フレームバッファ、汎用フレームバッファの一方から他方へと内容をコピーする処理を行う場合に、負荷の値として0.1を記載する。第2切替手順、第3切替手順において、負荷が発生することになる。
 図9(e)のスコアは、遅延計欄、コマ落ち欄、及び負荷欄の値の合計である。
 図9(f)は、第2切替手順のスコアを示す表であり、図9(c)に対応する。
 図9(g)は、第3切替手順のスコアを示す表であり、図9(d)に対応する。
 図9(f)、図9(g)についても、図9(e)と同様であるので説明は省略する。
 (切替手順選択部83)
 切替手順選択部83は、第1切替手順~第4切替手順それぞれについて、バッファ切替コストを表すスコアを算出する。
 切替手順選択部83は、図9(a)~図9(d)で示される算出結果を表示時刻算出部84から取得する。そして、表示時刻算出部84から取得した表示時刻算出結果に基づき、第1切替手順~第4切替手順それぞれについて、バッファ切替コストを表すスコアを算出する。スコアについては、既に図9(e)~図9(g)を用いて説明済みであるので説明は省略する。
 切替手順選択部83は、算出した各スコアを比較して、スコアの少ない切替手順を最適切替手順として選択する。そして、選択した切替手順を示す切替手順情報45を情報格納部17に格納する。
 図10は、切替手順選択部83が行う切替手順選択処理のフローチャートである。
 切替手順選択部83は、切替判断部81から切替手順選択の開始要求を受けて、切替手順選択処理を開始する。
 切替手順選択部83は、まず、整数型の変数iを用意し、初期値として0を設定する(S301)。
 そして、切替手順選択部83は、上述の切替開始仮時刻を算出する。ここで、切替手順選択部83は、上述のように、算出要求を送信しようとしたときに、第1描画コンポーネント61、第2描画コンポーネント62のいずれもが描画処理中でなければ、現在時刻を切替開始仮時刻とする。また、第1描画コンポーネント61、第2描画コンポーネント62のいずれかが描画処理中であれば、その描画処理の終了直後を切替開始仮時刻とする。iが0でない場合には、描画処理の終了直後が切替開始仮時刻とされた描画コンポーネントについて、i回描画処理を行った直後を切替開始仮時刻とする(S302)。
 例えば、図5において、iが0の場合、描画1バー202の終了直後を切替開始仮時刻とするが、iが1の場合、描画1バー202の次の描画1バーである描画1バー203の終了直後を切替開始仮時刻とする。なお、iが1の場合に、描画1バー202の次の描画2バーである描画2バー212の終了直後を切替開始仮時刻としてもよい。
 次に、切替手順選択部83は、バッファ切替を行わない第4切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第4算出結果という。)を取得する(S303)。S303の処理は、図4のフローチャートにより実行される。この算出結果は、図9(a)に示したものである。
 次に、切替手順選択部83は、第1切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第1算出結果という。)を取得する(S304)。S304の処理は、図4のフローチャートにより実行される。この算出結果は、図9(b)に示したものである。
 次に、切替手順選択部83は、第2切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第2算出結果という。)を取得する(S305)。S305の処理は、図4のフローチャートにより実行される。この算出結果は、図9(c)に示したものである。
 次に、切替手順選択部83は、第3切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第3算出結果という。)を取得する(S306)。S306の処理は、図4のフローチャートにより実行される。この算出結果は、図9(d)に示したものである。
 次に、切替手順選択部83は、第1切替手段~第3切替手段について算出したスコアを示す情報を保持しておく(S307)。
 次に、S301で宣言した整数型のiが上限に達していないかをチェックし、上限に達していない場合は(S308がNO)、iに1を加え、再度S302から処理を行う(S308)。上限に達している場合は(S308がYES)、iを変化させたときにi回算出したスコアの平均値が最も良い(スコアの値が低い)スコアを保持する手順を選択し、切替開始時刻、手法、コストを切替手順情報45として情報格納部17に格納する(S319)。
 なお、このiの値の上限は仮設定を行う回数は一定の閾値で設定してもよい。また、本切替手順選択処理の処理時間が一定値を超えた時点でiを上限とし、S309の処理に進んでもよい。また、iの上限を1としてもよい。また、S309において、スコアの平均値が最も良いものを選択せず、スコアの最高値の最も高い切替手順を選択することとしてもよい。
(切替判断部81)
 切替判断部81は、切替手順選択部83が選択した手順の切替コストと、保持している閾値とを比較する。切替コストが閾値以上である場合、切替判断部81は、切り替えを行わないと判断し、処理を終了する。一方、切替コストが閾値未満である場合、切替判断部81は、切り替えを行うと判断し、切替実施部82へ切替の実施を要求する。なお、閾値とコストの比較を行わずに、切替手順選択部83が選択した切替手順により、バッファ切替を行うこととしてもよい。
 2.2.動作
 以下、実施の形態2における表示切替動作について説明する。
 図11は、実施の形態2におけるバッファ切替動作の一例を示すフローチャートである。
 情報処理端末1のアプリケーション13が起動しており、第1描画コンポーネント61と第2描画コンポーネント62のそれぞれが描画処理を行っているとする。
 また、図11に示す切替動作は、一定時間ごとに実施されるものとするが、これに限らず、ユーザの操作がある度に通知を受け、処理を開始するものとしてもよい。
 まず、切替判断部81は、S101と同様の処理により、第1描画コンポーネント61、第2描画コンポーネント62それぞれのCPU負荷を算出する(S201)。
 次に、切替判断部81は、S102と同様の処理により、第1描画コンポーネント61のCPU負荷と、第2描画コンポーネント62のCPU負荷を参照し、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画しているか否か判定する(S202)。
 切替判断部81は、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画していると判定した場合(S202がYES)、切替は必要ないと決定し、処理を終了する。
 一方、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画していない場合(S202がNO)、切替判断部81は、切替手順選択部83に切替手順の選択を命令する。切替手順選択部83は、切替手順の選択処理を行う(S203)。
 切替手順選択部83は、第1切替手順~第4切替手順の中から最適な手順を選択し、選択した手順を切替手順情報45として情報格納部17に格納する(S204)。
 S204は、図10で説明したフローチャートに従って処理される。
 切替判断部81は、切替手順情報45を情報格納部17から取得する(S205)。
 そして、切替判断部81は、切替手順選択部83が選択した手順の切替コストと、保持している閾値とを比較する。切替コストが閾値以上である場合、切替判断部81は、切り替えを行わないと判断し(S206がNO)、処理を終了する。一方、切替コストが閾値未満である場合、切替判断部81は、切り替えを行うと判断し(S206がYES)、切替実施部82へ切替の実施を要求する。
 次に、切替実施部82は、第1実行管理部72と第2実行管理部74の描画処理の実行状態を読み込み、各描画コンポーネント(131、132)の描画処理が終了した後に、第1実行管理部72と第2実行管理部74に、各描画コンポーネント(131、132)による描画処理を中止するよう命令する(S207)。なお、全ての描画コンポーネント(131、132)が描画処理中でない場合は、切替実施部82は、即時に中断を命令する。
 次に、切替実施部82は、取得した切替手順に応じて、描画コピー制御部22に、フレームバッファ間のコピーを指示する(S208)。具体的には、取得した切替手順情報45により示される切替手順が第2切替手順の場合には、第1描画コンポーネント61が使用しているバッファの内容を、第2描画コンポーネント62が使用しているバッファへとコピーするよう指示する。
 取得した切替手順情報45により示される切替手順が第3切替手順の場合には、第2描画コンポーネント62が使用しているバッファの内容を、第1描画コンポーネント61が使用しているバッファへとコピーするよう指示する。
 次に、切替実施部82は、フレームバッファ生成管理部94から、高速フレームバッファ31と汎用フレームバッファ32のアドレス(高速フレームバッファ先頭アドレス91、汎用フレームバッファ先頭アドレス92)を取得する。そして、切替実施部82は、ステップS202で切替判断部81により描画の負荷が高いと判断された描画コンポーネント(131または132)に対応するフレームバッファ情報格納部(124または125)に、高速フレームバッファ31のアドレスを格納する。
さらに、切替実施部82は、描画の負荷が低いと判断された描画コンポーネント(131または132)に対応するフレームバッファ情報格納部(124または125)に、汎用フレームバッファ32のアドレスを格納する(S209)。これにより、描画の負荷が高いと判断された描画コンポーネントは、高速フレームバッファ(高速フレームバッファ31)が割り振って設定され、次の描画には、高速フレームバッファを使用することになる。
 次に、切替実施部82は、合成管理部14に通知し、高速フレームバッファ31と汎用フレームバッファ32の、合成時の重なりの設定を変更する(S210)。
 次に、切替実施部82は、切替手順に応じて、必要ならば、表示画面の画面ロックを行う(S211)。
 具体的には、切替実施部82は、合成管理部14に画面ロックを指示し、合成管理部14は、表示破綻を起こしうるフレームバッファの合成処理を中止する。
 ここで表示破綻とは、描画コンポーネント(131、132)が、描画処理を完了しておらず、表示すべき画面が完成していない状態でディスプレイ35に表示してしまうことをいう。
 次に、切替実施部82は、第1実行管理部72と第2実行管理部74に、S207で中止を命令していた描画処理を再開するよう命令する(S213)。
 最後に、S212にて画面ロックをした場合、切替実施部82は、情報格納部17に格納されている情報に従い、適切なタイミングで、画面ロックを解除する(S214)。具体的には、切替実施部82は、合成管理部14に画面ロック解除を指示し、合成管理部14は、高速フレームバッファ31と汎用フレームバッファ32の合成処理を再開する。
 以上により、情報処理端末1においては、中断していた描画処理を再開した後は、ステップS202で切替判断部81により描画の負荷が高いと判断された描画コンポーネントが高速フレームバッファを使用して描画処理を行うことになる。また、切替処理に伴う、画面の表示破綻やちらつきを抑えることが可能となる。
3.変形例
 なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1)第1の実施の形態では、CPU負荷を、描画所要時間/描画間隔としていたが、これには限らない。例えば、CPU負荷は、切替判断部81が切替判断を直近に行ってから、現在に至るまでに算出された複数のCPU負荷の平均値を用いてもよい。
(2)上述の実施の形態では、情報処理端末1は携帯型の情報端末であるとしたが、これに限らず、据置型の情報端末であってもよいし、携帯電話機や、AV機器等であってもよい。
 また、情報処理端末1が実行するアプリケーションは、地図と写真を描画することとしたが、これに限らず、地図、動画、写真、CG(Conmputer Graphics)、文書の描画等を組み合わせたものであってもよい。
 また、上述の実施の形態では、1つのアプリケーションに2つの描画コンポーネントを含む例で説明したがこれに限らず、複数の描画処理が並列して行われる場合に適用しうる。例えば、地図を表示するアプリケーションと、写真を表示するアプリケーションの2つのアプリケーションが並行して実行される場合などが考えられる。
 (3)実施の形態1では、2つのコンポーネントしか用いてなかったが、3つ以上のコンポーネントを用いてよい。そして、情報処理端末1のソフトウェア部にXウィンドウシステム(登録商標)が組み込まれており(図示せず)、汎用フレームバッファ32にはXウィンドウシステムを経由して描画を行うものとしてもよい。この場合に、高速フレームバッファ31については、Xウィンドウシステムを経由しないで描画を行うものとすれば、高速フレームバッファ31を用いる描画処理は、汎用フレームバッファ32を用いる場合と比べて、さらに高速になる。そして、高速フレームバッファ31にデータの書き込みができるのは、後述の切替判断部81によって指定される単一のコンポーネントのみであるので、この指定されたコンポーネントは、他のコンポーネントよりも高速に描画処理を実行できる。
 一方で、汎用フレームバッファ32については、2以上のコンポーネントが同時にデータの書き込みを要求することができ、Xウィンドウシステムがこれらの書き込み要求を調停した上で、各コンポーネントから書き込み要求されたデータを順に汎用フレームバッファ32に書き込む。よって、汎用フレームバッファ32を用いた描画処理に要する時間と、高速フレームバッファ31を用いた描画処理に要する時間との時間差は、Xウィンドウシステムを用いない場合に比べ拡大する。
 (4)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
 (5)上記の各装置を構成する構成要素の一部又は全部は、構成要素の機能を実現する回路で構成し、若しくは、構成要素の機能を実現するプログラムとそのプログラムを実行するプロセッサとで構成し、又は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
 また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (6)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
 (7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
 また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本発明にかかる表示切替装置は、複数のウィンドウを重ねて表示する機能を有する情報処理端末、AV機器及び通信端末などに好適である。
  1  情報処理端末
 11  フレームバッファ管理部
 12  表示切替装置
 13  アプリケーション部
 14  合成管理部
 15  表示部
 16  入力部
 17  情報格納部
 18  高速メモリデバイス
 19  汎用メモリデバイス
 20  表示メモリデバイス
 21  表示切替部
 22  描画コピー制御部
 31  高速フレームバッファ
 32  汎用フレームバッファ
 33  表示フレームバッファ
 61  第1描画コンポーネント
 62  第2描画コンポーネント
 63  実行制御部
 81  切替判断部
 82  切替実施部
 83  切替手順選択部
 84  表示時刻算出部

Claims (9)

  1.  画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、
     前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、
     前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部と
     を備えることを特徴とする表示切替装置。
  2.  前記描画処理負荷は、各描画コンポーネントが単位時間当たりに描画処理を行っている時間であり、
     前記切替実施部は、前記複数の描画コンポーネントのうち前記描画処理負荷が最も高いものとして、単位時間当たりに描画処理を行っている時間の最も長いものを選ぶ
     ことを特徴とする請求項1記載の表示切替装置。
  3.  前記切替実施部は、
     前記高速バッファ及び前記汎用バッファに記録されている内容をコピーせずに、バッファを切り替える第1の切替手順と、
     前記高速バッファに記憶された内容を前記汎用バッファにコピーした後に、バッファを切り替える第2の切替手順と、
     前記汎用バッファに記憶された内容を前記高速バッファにコピーした後に、バッファを切り替える第3の切替手順とのうち1つを選択する
     ことを特徴とする請求項1記載の表示切替装置。
  4.  前記切替実施部は、前記1つの切替手順を選択する場合に、前記切替手順それぞれについて、バッファを切り替えた後における、バッファを切り替えずに描画処理を継続する場合と比較したバッファ切替コストを推計し、前記バッファ切替コストが最小の手順を選択する
     ことを特徴とする請求項3記載の表示切替装置。
  5.  前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち少なくとも1つに基づき判断する
     ことを特徴とする請求項4記載の表示切替装置。
  6.  前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち2つ以上を加えた値に基づき判断する
     ことを特徴とする請求項4記載の表示切替装置。
  7.  前記切替実施部は、フレーム画像を画面表示する場合に、処理落ちがあると判定された場合、処理落ちのある期間、画面表示を変更せずにロックする
     ことを特徴とする請求項4記載の表示切替装置。
  8.  画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置に用いられる表示切替方法であって、
     前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断ステップと、
     前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施ステップと
     を含むことを特徴とする表示切替方法。
  9.  画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える集積回路であって、
     前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、
     前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部と
     を備えることを特徴とする集積回路。
PCT/JP2011/001672 2010-03-24 2011-03-22 表示切替装置 WO2011118199A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/320,844 US8810588B2 (en) 2010-03-24 2011-03-22 Display switching apparatus
JP2012506843A JP5662418B2 (ja) 2010-03-24 2011-03-22 表示処理装置、表示処理方法、及び集積回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010067589 2010-03-24
JP2010-067589 2010-03-24

Publications (1)

Publication Number Publication Date
WO2011118199A1 true WO2011118199A1 (ja) 2011-09-29

Family

ID=44672777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001672 WO2011118199A1 (ja) 2010-03-24 2011-03-22 表示切替装置

Country Status (3)

Country Link
US (1) US8810588B2 (ja)
JP (1) JP5662418B2 (ja)
WO (1) WO2011118199A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170041760A (ko) * 2014-08-08 2017-04-17 어드밴스드 마이크로 디바이시즈, 인코포레이티드 프레임 페이싱을 위한 방법 및 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940909B2 (en) * 2014-10-14 2018-04-10 Barco N.V. Display system with a virtual display
JP2018055210A (ja) * 2016-09-27 2018-04-05 オムロン株式会社 表示画面作成装置、表示画面作成方法、および、表示画面作成プログラム
JP2018102564A (ja) * 2016-12-26 2018-07-05 オリンパス株式会社 内視鏡システム及び内視鏡システムの情報処理方法
US10297004B2 (en) * 2017-05-25 2019-05-21 American Megatrends, Inc. Multiple frame buffers for windowless embedded environment
CN111508055B (zh) * 2019-01-30 2023-04-11 华为技术有限公司 渲染方法及装置
CN114245177B (zh) * 2021-12-17 2024-01-23 智道网联科技(北京)有限公司 高精地图的平滑显示方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10210484A (ja) * 1997-01-24 1998-08-07 Nec Corp フレーム・バッファ管理方式
JP2002010262A (ja) * 2000-06-19 2002-01-11 Canon Inc 復号装置、テレビジョン装置、データ処理システム、復号方法、及び記憶媒体
WO2009038902A1 (en) * 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPM701394A0 (en) * 1994-07-22 1994-08-18 Monash University A graphical display system
JP2000206953A (ja) 1999-01-19 2000-07-28 Toshiba Corp 計算機の表示制御方法及び装置
US7272144B2 (en) * 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
JP2005275028A (ja) 2004-03-25 2005-10-06 Mitsubishi Electric Corp 表示システム
US8269782B2 (en) * 2006-11-10 2012-09-18 Sony Computer Entertainment Inc. Graphics processing apparatus
JP2008228003A (ja) * 2007-03-14 2008-09-25 Seiko Epson Corp 印刷装置、印刷装置の表示方法、および、表示プログラム
US9015723B2 (en) * 2009-09-23 2015-04-21 International Business Machines Corporation Resource optimization for real-time task assignment in multi-process environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10210484A (ja) * 1997-01-24 1998-08-07 Nec Corp フレーム・バッファ管理方式
JP2002010262A (ja) * 2000-06-19 2002-01-11 Canon Inc 復号装置、テレビジョン装置、データ処理システム、復号方法、及び記憶媒体
WO2009038902A1 (en) * 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170041760A (ko) * 2014-08-08 2017-04-17 어드밴스드 마이크로 디바이시즈, 인코포레이티드 프레임 페이싱을 위한 방법 및 시스템
KR102476197B1 (ko) * 2014-08-08 2022-12-09 어드밴스드 마이크로 디바이시즈, 인코포레이티드 프레임 페이싱을 위한 방법 및 시스템

Also Published As

Publication number Publication date
US8810588B2 (en) 2014-08-19
US20120062573A1 (en) 2012-03-15
JPWO2011118199A1 (ja) 2013-07-04
JP5662418B2 (ja) 2015-01-28

Similar Documents

Publication Publication Date Title
JP5662418B2 (ja) 表示処理装置、表示処理方法、及び集積回路
JP4047316B2 (ja) フレームレート変換装置、それに用いられる追い越し予測方法、表示制御装置及び映像受信表示装置
JP5460405B2 (ja) 画像表示装置およびその制御方法
JP3863035B2 (ja) ピクチャインピクチャ機能とフレーム速度変換とを同時に行うための映像処理装置及び映像処理方法
JP2009015248A (ja) 画像生成装置、画像生成方法および画像生成プログラム
CN107682730B (zh) 图层叠加处理方法、图层叠加处理装置和视频处理器
KR20070099486A (ko) 이미지 데이터 디스플레이 제어 장치 및 방법
JP2007121479A (ja) デジタルガンマ補正回路およびデジタルガンマ補正方法
JP2006251000A (ja) 重畳表示可能なディスプレイコントローラ
JP2010181573A (ja) 画像処理装置、情報処理装置、携帯端末装置及び画像処理方法
US8675026B2 (en) Image processing apparatus, image processing method, and computer program storage medium
JP5511577B2 (ja) 画像処理装置
JP5460403B2 (ja) 画像表示装置およびその制御方法
JP4748223B2 (ja) 画像処理装置および方法、並びにプログラム
US10212316B2 (en) Video processing apparatus
JP2022113262A5 (ja)
JP5280546B2 (ja) 映像出力装置及び映像の合成方法
JP5419783B2 (ja) 画像再生装置及び画像再生装置の制御方法
CN114461121B (zh) 一种基于虚拟图层实现uefi全屏显示的装置
JP2007094391A (ja) 動画像表示装置
US20120327096A1 (en) Image generating device
KR100688529B1 (ko) Osd 디스플레이 장치 및 osd 데이터 출력 방법
CN109785880B (zh) 半导体器件、数据处理系统、数据读取方法以及数据读取程序
US20130128117A1 (en) Video output apparatus and control method therefor, and non-transitory recording (storing) medium that records program
JP2003236172A (ja) パチンコ機の画像表示装置とその制御方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2012506843

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11759009

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13320844

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11759009

Country of ref document: EP

Kind code of ref document: A1