   minimal possible CPU load for fullscreen animation
  Hey there!I know my question is pretty general, but maybe you can give me any advices on that. I'm supposed to create an application that animates some simple antialiased 2D shapes in fullscreen (rotate, translate and fade in-out them - no scaling or fancy stuff). This application shall cause as few CPU load as possible (on Windows Platform).The application I created is already pretty good (14% on my Lenovo T60p Notebook at 30fps). I currently render at startup the vectorshapes into textures(with alpha channels) and use DirectX to render those on screen.but i'm supposed to go for even less CPU load.So now i'm thinking about how to achieve the optimum.I'm thinking of writing the application in C or C++ (you think it's going to make a big difference?), using either OpenGL or DirectX and try to do most of the animation within highlevel shaders while packing the geometry into as few vertex buffers as possible and have all textures for the whole animation constantly in videoram. You think it's going to be a difference whether i use DirectX or OpenGL regarding cpu overhead?Can you give me any other tips or point me into some direction? Also if you could tell me of any traps to avoid?I know this is a very unspecific question, but i'm just about to plan how to start over, so i'd like to collect some tips here...   
  The best advice I can give you: Premature optimization is the root of all evil in this world. It shall not be done.If you can write it in c++ and are only worried about speed, then stop worrying about speed and implement it in c++. Speed is something that rarely connects to a language at first, but to how people approach a certain problem. Anything can be implemented slow, given the endless stupidity a lot of programmers show today.If you have already written your application with DirectX, then stick with it. Only if there is something you cannot achieve with DirectX, but that can be with OpenGL.   ;  If you're not using 100% of your CPU, then that suggests you have some sleep calls in there somewhere. Optimisation is unlikely to make much difference when you're already sleeping for 6/7 of the time. An unlikely alternative is that the process is waiting on I/O - are you loading data during the main loop?   ;  A quick search tells me that CPU is dual core. That means 14% CPU load is almost certainly going to be 28% load on one core and 0% on the other. That means approximately 9ms of work per frame at 30FPS, and 24ms Sleep()ing (or waiting for timer messages). 9ms seems a little slow to me, but it may not be too bad for that hardware.The first thing I'd suggest before trying any optimization is to profile the application. Once you know where most of the time is being spent, you can concentrate optimizations on that area. Your choice of profiler will probably depend on what language the code is written in. Also always profile release builds, without the debugger attached.Here's some other ideas to get you started.You may be able to get away with much less than 30 FPS and still have smooth animation. Try 20, or even 10 and see what it looks like. Animation can run at much lower frame rates when the user isn't in control of it, especially when the animation is slow / subtle.Is the present interval set to immediate? If not you'll spend a lot of CPU time just waiting for the VSync.   