POV-Ray : Newsgroups : povray.programming : Speeding up Povray's Renderings from a Linux Command Line Server Time
2 Dec 2024 19:00:57 EST (-0500)
  Speeding up Povray's Renderings from a Linux Command Line (Message 1 to 3 of 3)  
From: Adam Ryan
Subject: Speeding up Povray's Renderings from a Linux Command Line
Date: 1 Aug 2014 00:40:00
Message: <web.53db18f6399136ae6ebb00c90@news.povray.org>
Hello, first I'd like to say thanks to everyone involved in the awesome product.
I'm currently on Linux CentOS 6.4 and I'm using Povray version 3.7 from the
command line. I have a few questions about trying to speed up the rendering
times of Povray. I've read everything I can find relating to these questions, as
well as the FAQ.


1. Can i build Povray excluding specific modules? For example if I knew I would
never need ray tracing, can I remove it?
    2. If I can remove specific modules, how is this done? Are there
specific/extra parameters to use durning the build process to exclude modules?
Or does it have to be done manually by deleting code before the build process?
    3. If I can remove specific modules, would this make rendering faster?
Although I could only really see this being a benefit when opening Povray, but
I'd like to explore all available options. Also, if this would have to be done
manually then I'd imagine it would be an absolute nightmare...


4. Is there anyway for Povray to log each step of a rendering to see a breakdown
of which part took the longest/most resources to complete?


5. According to
http://wiki.Povray.org/content/Knowledgebase:Language_Questions_and_Tips#Topic_28
"The new POV-Ray 3.7 supports multiple processors." Does this mean that for
every single rendering every processor is being taken advantage of for specific
parts for that overall rendering, in turn compleating that rendering faster? Or
is this just beneficial when performing multiple rendering so that they happen
in parallel with one to each processor?


6. This question may be geared more towards linux itself than Povray, but is
there a way to open Povray and force it to stay open so that numerous commands
from command line can perform renderings without having to open and close Povray
itself?
    7. If this is possible is there a way to lock it into memory and prevent
from being swapped by linux itself? I believe the answer to this is to just give
Povray a higher priority with nice and ionice


Thank you so much in advance!


Post a reply to this message

From: Le Forgeron
Subject: Re: Speeding up Povray's Renderings from a Linux Command Line
Date: 1 Aug 2014 01:51:26
Message: <53db2ade$1@news.povray.org>
On 01/08/2014 06:37, Adam Ryan wrote:
> Hello, first I'd like to say thanks to everyone involved in the awesome product.
> I'm currently on Linux CentOS 6.4 and I'm using Povray version 3.7 from the
> command line. I have a few questions about trying to speed up the rendering
> times of Povray. I've read everything I can find relating to these questions, as
> well as the FAQ.
> 
> 
> 1. Can i build Povray excluding specific modules? For example if I knew I would
> never need ray tracing, can I remove it?

Povray is about ray tracing. I can translate the question to removing
sphere objects.

>     2. If I can remove specific modules, how is this done? Are there
> specific/extra parameters to use durning the build process to exclude modules?
> Or does it have to be done manually by deleting code before the build process?
>     3. If I can remove specific modules, would this make rendering faster?
> Although I could only really see this being a benefit when opening Povray, but
> I'd like to explore all available options. Also, if this would have to be done
> manually then I'd imagine it would be an absolute nightmare...

Unused code does not slow down current architectures, unless you are
short of memory.

If you want faster render, you can tune the quality (-Qx, x from 1 to 9).

> 
> 
> 4. Is there anyway for Povray to log each step of a rendering to see a breakdown
> of which part took the longest/most resources to complete?

It already reports the parsing/.../render stage. I'm afraid the
histogram output is lost in history.

> 
> 
> 5. According to
> http://wiki.Povray.org/content/Knowledgebase:Language_Questions_and_Tips#Topic_28
> "The new POV-Ray 3.7 supports multiple processors." Does this mean that for
> every single rendering every processor is being taken advantage of for specific
> parts for that overall rendering, in turn compleating that rendering faster? Or
> is this just beneficial when performing multiple rendering so that they happen
> in parallel with one to each processor?

If you have 4 cores with hyperthreading available, povray will use the 8
threads (unless overruled with -WTx option, x being the number of thread
to use) to render (and some additional threads for house-keeping).
The sad thing is that an HT core is worth about 1.23 core, not 2, when
povray is concerned.

> 
> 
> 6. This question may be geared more towards linux itself than Povray, but is
> there a way to open Povray and force it to stay open so that numerous commands
> from command line can perform renderings without having to open and close Povray
> itself?

Open & close ? Povray is a process. The window you see is the preview
window, and it can be disabled/enabled with the +/-D option.

What you are describing is a server, there is no such thing for povray.

>     7. If this is possible is there a way to lock it into memory and prevent
> from being swapped by linux itself? I believe the answer to this is to just give
> Povray a higher priority with nice and ionice

"nice" or "renice" is the thing to look at for the priorities.

About memory management, either you have enough RAM and the system will
keep the active processes in it, or you do not, and forcing povray to
stay in memory might slow down other operations like disk access. ( or
worse, crash/freeze the system if you had enough rights to force it all
the way)

You can of course try the sticky bit. (not suid, just sticky) (but does
Linux finally honor that bit ? I doubt, and the utility of sticky on
file is rather doubtful too)

All the previous need of course admin's rights.

Running povray with admin rights is not encouraged.

> 
> 
> Thank you so much in advance!
> 
> 


-- 
IQ of crossposters with FU: 100 / (number of groups)
IQ of crossposters without FU: 100 / (1 + number of groups)
IQ of multiposters: 100 / ( (number of groups) * (number of groups))


Post a reply to this message

From: clipka
Subject: Re: Speeding up Povray's Renderings from a Linux Command Line
Date: 1 Aug 2014 02:14:42
Message: <53db3052@news.povray.org>
Am 01.08.2014 06:37, schrieb Adam Ryan:

> 5. According to
> http://wiki.Povray.org/content/Knowledgebase:Language_Questions_and_Tips#Topic_28
> "The new POV-Ray 3.7 supports multiple processors." Does this mean that for
> every single rendering every processor is being taken advantage of for specific
> parts for that overall rendering, in turn compleating that rendering faster? Or
> is this just beneficial when performing multiple rendering so that they happen
> in parallel with one to each processor?

POV-Ray 3.7 will indeed (by default) utilize all the available cores 
(both physical and virtual) even for single renders, by running a 
corresponding number of threads and distributing the render job in 
chunks of 32x32 pixels among these threads.

You can modify the number of parallel threads via the +WTn option (e.g. 
+WT4 to use 4 threads).

> 6. This question may be geared more towards linux itself than Povray, but is
> there a way to open Povray and force it to stay open so that numerous commands
> from command line can perform renderings without having to open and close Povray
> itself?

If the output images are supposed to be all of the same size, you could 
make some creative use of POV-Ray's animation feature.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.