The real time rendering process, as it is meant in the NOVA engine, is the achievement of several technologies, resulting in the display of an 2D image, representative of a 3d scene, updated fast enough to give the user the feeling to be "in" the scene. In order to complete that experience, it is necessary that a sufficient amount of images is generated. This is called the framerate. The higher, the better.
3D models
You need to have a 3D model to display it. This 3D content is created by specialized program (Autodesk 3dsMax, Maya, Revit, XSI, Blender, Sketchup). Once those datas generated, you may want to wrap the object in convenient textures, mostly taken from real-life bitmap pictures. At last, you need to to export those datas, just after applying to the scene some interactions. Of course, the more complex the model is, the less framerate you will have. Same thing for textures.
The battle among CPU and GPU
According to modern 3d process, the framerate speed is mostly related to the good work among two leaders. Indeed, before even a singl image is produced, the scene needs to be ordered in logicl and dynamic blocks, to check the collisions results, to define what is in front and what is in the background, deal with transparency parameters, get the physically based behaviours response. All that work is done by the CPUs (main processors). they have also the task to organize, treat and eventually uncompress the bitmap textures, as they're dealing with the system management, drivers input/output and devices threads. As those processors are not specialized, they're quite slow. We would also say that they're the weakest point in the real time 3D process.So, if the work or the CPUs is optimized, the fastest the datas are send to the GPUs (graphic processors).
The GPU is a highly specialized processor. Its duty is to transform the datas into an image to be send to the screen. Generally, all the process starts by transforming raw datas into a geometric mode (faces, vertices...), light the 3D world, apply the texture, add some special effects, post-processes. The process ends when the image is completed and sent to the screen.
In this scheme, if one process is delayed, it delayed all the other processes. You have to organize the scene in order to get the processes aligned.
Textures and .DDS
The textures are usually bitmap images wrapped around objects in order to give them an aspect. Those textures can be used in several formats (.bmp, .jpg) et in different sizes and resolutions. If you plan to optimize your 3D content, you may need to use a much more reliable and optimized format : the .dds format (for Direct Draw Surface). It allows to uncompress and read the texture right in the GPU memory zone (avoiding the CPU). Moreover, that format can manage the mip-mapping, whiwh means that the texture is reduces with the distance. To avoid memory fragmentation, you can also specify "multiple of 8" resolution texture (512x16 for example with a maximum size of 2048 in DirectX9, 4096 in DirectX 10 mode)
The overall complexity of the scene
In addition of the management of the objects and the textures, the complexity of the scene is one major difficulty. For example, you may want to create multiple light sources (with a max of 8 lights per objet in DirectX9), add some post processes effects, real time shadows, ambient occlusion, and so on. All of that complexity is to be quietly discuss and evaluate to reach the good value between speed and quality. Remember that under 15 frames per second (fps), the end-user will feel that the scene is too slow. Above 70 fps, the scene will run perfectly smoothly.