Propellerhead Software

Go Back   Propellerhead Forum > General Forum (read only)

 
 
Thread Tools Display Modes
  #21  
Old 2012-11-19, 14:28
devilfish's Avatar
devilfish devilfish is offline
 
Join Date: Dec 2011
Posts: 2,074
Quote:
Originally Posted by DimitrisG View Post

If I were Propellerhead I would rebuild Reason 7 from scratch.
  #22  
Old 2012-11-19, 16:12
DimitrisG DimitrisG is offline
 
Join Date: Nov 2011
Posts: 81
Quote:
Originally Posted by devilfish View Post

as Apple did with Final Cut pro before two years. its not something new
  #23  
Old 2012-11-19, 17:25
PsyTale's Avatar
PsyTale PsyTale is offline
 
Join Date: Aug 2009
Posts: 801
Quote:
Originally Posted by DimitrisG View Post
I want props to answer this too. To bad its only a wishful thinking because I had question that never got answered at this topic: https://www.propellerheads.se/forum/...d.php?t=170415
Yes, it would be awesome if someone at propellerhead headquarters would take some responsibility and atleast try to answer some of the questions in this post.

Quote:
Originally Posted by DimitrisG View Post
Reason like many other apps is simply unable to utilize all the CPU threads. I had the same issues with my old computer and it was the main reason I upgraded to this one. 25% of CPU usage was clipping my DSP and I have a pretty good knowledge of whats going on with computers.
I doubt whether this is the problem. It seems to utilize only 3 cores. Maybe theres some limit.

Quote:
Originally Posted by DimitrisG View Post
I can ensure you this is not a RAM related issue. RE are CPU hungry and I got a really bad feeling that RE have bad internal design.

If I were Propellerhead I would rebuild Reason 7 from scratch.
I bought an SSD (because i wanted one) and 12gb extra. I wonder what happens when im done installing windows on the SSD.

Quote:
Originally Posted by Aiden View Post
I've been seeing a very similar thing - DSP maxing out even though CPU usage is less than 50 percent of 4 available cores.

Anyone from the Props care to comment or are you happy to just let us wander around in the dark like a bunch of idiots?????
What is your system specs?

Last edited by PsyTale; 2012-11-23 at 10:20.
  #24  
Old 2012-11-19, 21:15
Arsenic's Avatar
Arsenic Arsenic is offline
 
Join Date: Nov 2011
Posts: 708
These two threads throw a little light on the subject - don't know if there will be enough information to satisfy you, or if they will raise even more questions..

CPU Core Usage

https://www.propellerheads.se/forum/...d.php?t=165888

More about hyper-threading - with a bit of input from a couple of the Props team.

https://www.propellerheads.se/forum/...d.php?t=169546

one thing I did notice on the first screenshot, that although Reason is only using 41% CPU, if you look at the total CPU load at the top of that column, the current CPU load is actually 67%. So there is another 26% CPU load from somewhere - some of this will be Windows Processors.
  #25  
Old 2012-11-19, 22:22
normen's Avatar
normen normen is offline
 
Join Date: Sep 2006
Posts: 3,469
See, in reason you can route the signal from anywhere to anywhere else, it all runs on the same buffer size. Other sequencers can run channels with pre-delay to do the computations and mix it in after.
Your CPU is not the only thing having to work to get audio processing done, just use the reason DSP meter to see how reason fares, use Logics meter to see how logic fares and don't make the mistake of comparing it.
If you started doing your first DSP coding experiments you'd quickly come to see why and how Reason is different.
__________________
Plugin latency issues? Phasing on parallel channels? Want to know the real latency of your audio interface? Try the VMG-01!
Professional Audio Engineer at Theater Bremen, Germany • Part Time Programmer
  #26  
Old 2012-11-21, 12:01
jengstrom jengstrom is offline
Propellerhead
 
Join Date: Jan 2005
Posts: 931
Quote:
Originally Posted by PsyTale View Post
1. Is reason not utilizing the cpu to the max?
2. Is reason not utilizing all the cores in my system?
3. Is the DSP meter a meter that measures capability of a sound interface?
4. Is this a posible harddisk problem (disk to slow or something?) im using 2 western digital black edition disks in raid 0.
5. Is is my ram, do i need more ?!
Me and BMFH did respond about hyper-threading in this thread: https://www.propellerheads.se/forum/...d.php?t=169546

Except for the audio rendering work, everything in Reason uses hyper-threading.
Examples of tasks that use hyper-threading are GUI drawing, high quality stretch+resample and disk I/O.

Answer to 1. and 2: The Windows Task Manager CPU usage number shows the percentage of real time Windows considers a processor core working rather than idle. 100% CPU usage on a core signifies that Windows thinks that core is sustaining execution without pause.

I don't know how Windows measures the percentage of physical core execution time given to each logical core in a HT-processor.

On multi-core processors, Reason dedicates all except one of the available physical CPU cores for audio rendering. It must leave one core non-dedicated, to have computational power available for the less urgent tasks mentioned above.

When two threads are running on two logical cores which share a single physical core, the execution speed (intructions per second) of each thread varies hugely. At best, it will be about 30 % faster than traditional (non-HyperThreading) switching between two threads on a single core.
(The two HT-threads only run some instructions in parallel, under some conditions, but most are executed sequentially.)

Reason audio rendering threads can not work reliably on threads with such varying execution speed.
When two threads are running in parallel on two physical cores, the execution speed varies much less, and only because of memory, caches and such.
I.e. the way Reason dedicates threads to cores is only reliable with physical cores, and not with logical cores that execute using HyperThreading.

If Reason would dedicate all your cores to audio rendering, including logical cores, it would be much less reliable and responsive.
Unlimited CPU core dedication could have been made a option in Reason Preferences, but would be difficult to support due to different interpretations of what it does.


Answer to 3. Yes, the DSP meter measures the percentage of real time left between deliveries of audio to/from the interface driver.

If it shows 0%, almost no time is spent in Reason to deliver audio to/from the interface driver.
If it shows 100%, the interface driver wants more audio before Reason has finished rendering the previous batch.


Answer to 4. and 5. I don't think memory or hard-disk are big factors in this case.


How are you routing in your example?
Since Reason allows free routing, if you have long effect chains and/or feedback, multi-core rendering is less effective, since interconnected processing can't be done in parallel.
  #27  
Old 2012-11-21, 21:39
PsyTale's Avatar
PsyTale PsyTale is offline
 
Join Date: Aug 2009
Posts: 801
Quote:
Originally Posted by jengstrom View Post
Me and BMFH did respond about hyper-threading in this thread: https://www.propellerheads.se/forum/...d.php?t=169546

Except for the audio rendering work, everything in Reason uses hyper-threading.
Examples of tasks that use hyper-threading are GUI drawing, high quality stretch+resample and disk I/O.

Answer to 1. and 2: The Windows Task Manager CPU usage number shows the percentage of real time Windows considers a processor core working rather than idle. 100% CPU usage on a core signifies that Windows thinks that core is sustaining execution without pause.

I don't know how Windows measures the percentage of physical core execution time given to each logical core in a HT-processor.

On multi-core processors, Reason dedicates all except one of the available physical CPU cores for audio rendering. It must leave one core non-dedicated, to have computational power available for the less urgent tasks mentioned above.

When two threads are running on two logical cores which share a single physical core, the execution speed (intructions per second) of each thread varies hugely. At best, it will be about 30 % faster than traditional (non-HyperThreading) switching between two threads on a single core.
(The two HT-threads only run some instructions in parallel, under some conditions, but most are executed sequentially.)

Reason audio rendering threads can not work reliably on threads with such varying execution speed.
When two threads are running in parallel on two physical cores, the execution speed varies much less, and only because of memory, caches and such.
I.e. the way Reason dedicates threads to cores is only reliable with physical cores, and not with logical cores that execute using HyperThreading.

If Reason would dedicate all your cores to audio rendering, including logical cores, it would be much less reliable and responsive.
Unlimited CPU core dedication could have been made a option in Reason Preferences, but would be difficult to support due to different interpretations of what it does.


Answer to 3. Yes, the DSP meter measures the percentage of real time left between deliveries of audio to/from the interface driver.

If it shows 0%, almost no time is spent in Reason to deliver audio to/from the interface driver.
If it shows 100%, the interface driver wants more audio before Reason has finished rendering the previous batch.


Answer to 4. and 5. I don't think memory or hard-disk are big factors in this case.


How are you routing in your example?
Since Reason allows free routing, if you have long effect chains and/or feedback, multi-core rendering is less effective, since interconnected processing can't be done in parallel.
Let me start by saying: Thanks for this elaborated answer. Very interesting to read.

I never had problems with anything concerning reason, i am an advanced user and in daily life im in IT work on a servicedesk for an ERP software company that is one of the biggest of its sort in the netherlands. I have to work with computers everyday. Our software has its problems, but thats fine. When i make a comparison at work i always use Reason as an example for software that just works, you know like i wrote before on the forums, one or 2 minor fixes and we can have Reasonable Reason time until the next release. Very avid programming and nifty way of getting the most out of the computer for the user. Every detail has a Reason. While our software has daily users in it working in it all day, we run it on AIX and Dynamics AX servers and they need to be maintained. Alot of company critical processes are dependend on our software staying up and running. No matter what we do, fixing bugs is a daily task and releasing patches is done in a monthly fashion. I have to solve complex problems from the companies that use our software, they arent users questions most of the time its the system administrators of these big companies that cannot solve the problem. This is when we come in and analyse the whole problem, find whether its a bug or a users error or whether its a system (hardware) issue.

What im trying to say is that i have always and will always be impressed by the work you guys deliver, because i see daily how hard it is to maintain software. But sometimes i am just baffled. This is one of those times, it seems Reason is ignoring its own set of rules because you guys are thinking for me (the user) in a fashion that is too intrusive.

As to your answer about 1 and 2, this is exactly what happens, it detects 4 real cores and leaves one unused. But i dont understand why the other 4 threads are not used. By this logic about 60% of the cpu is not used.

I wonder how true your story about the parallel processing is, because it would mean the 4 HT cores on my cpu are useless. But we both know thats not true 30% is alot if you ask me, but what i find most interesting it that you guys have putt in an option in reason to choose howmuch computer processing power you want to use. When i set it to "no limit", it should use all my cores and not make up rules about one core being used for computer power or whatever. This is my choice, when i say use it all. Reason should use my cpu 100% including all hoax cores. The memory thing is not your problem (you seem to worry about it in order to use the other threads on a cpu.), it is the users, when you dont install enough of it reason will hick and plock and tick.

Basically where we are at now it that reason doesn't use the full potential of the processing power pcs have. And no matter howmuch i love you guys that just seems a little weird to me.

As per your other answers those are clear, thanks for this. I wondered how the soundboard was factored in in the DSP.

Last edited by PsyTale; 2012-11-22 at 00:08.
  #28  
Old 2012-11-21, 21:55
MattiasHG's Avatar
MattiasHG MattiasHG is offline
Propellerhead
 
Join Date: Apr 2006
Posts: 2,429
Quote:
Originally Posted by PsyTale View Post
I wonder how true your story about the parallel processing is, because it would mean the 4 HT cores on my cpu are useless. But we both know thats not true
He didn't say useless, did he? He said "unreliable". In real time processes such as audio handling this is a key difference. In pro audio it's enormously important that all operations can be carried out reliably and on time. I think what jengstrom said here kind of sums the problem up:

Quote:
Originally Posted by jengstrom
"If Reason would dedicate all your cores to audio rendering, including logical cores, it would be much less reliable and responsive.

Unlimited CPU core dedication could have been made a option in Reason Preferences, but would be difficult to support due to different interpretations of what it does."
You say it's "your choice" but as a user I would be quite angry when I say "use all", expecting things to run smoother and things instead become less reliable. My 2 cents at least!
__________________
  #29  
Old 2012-11-21, 23:53
PsyTale's Avatar
PsyTale PsyTale is offline
 
Join Date: Aug 2009
Posts: 801
Quote:
Originally Posted by MattiasHG View Post
He didn't say useless, did he? He said "unreliable". In real time processes such as audio handling this is a key difference. In pro audio it's enormously important that all operations can be carried out reliably and on time. I think what jengstrom said here kind of sums the problem up:



You say it's "your choice" but as a user I would be quite angry when I say "use all", expecting things to run smoother and things instead become less reliable. My 2 cents at least!
I agree on the HT part, or i dont really agree but i understand you want stability and use real cores only. But then still..

That doesnt justify making a funktion with the option to say "hey reason i want you to use 95% of my cpu" ( this means one knows that the rest of the system will posibly be laggy and if the dont they should not set it ) that it actually means it used 95% of the cpu and not 95% of a predefined set of rules and eventually use 3 of the 4 cores. Which in turn means your using 71% ( according to my quickmath ) of the actual cpu power, isnt it an option to make this work in a different way? For the speedjunks?

You could make some options green and some orange and some red and make it so that people know?

BTW! What would happen if i have 8 actual cores, would it use 7?
  #30  
Old 2012-11-22, 00:02
normen's Avatar
normen normen is offline
 
Join Date: Sep 2006
Posts: 3,469
Quote:
Originally Posted by PsyTale View Post
I agree on the HT part, or i dont really agree but i understand you want stability and use real cores only. But then still..

That doesnt justify making a funktion with the option to say "hey reason i want you to use 95% of my cpu" ( this means one knows that the rest of the system will posibly be laggy and if the dont they should not set it ) that it actually means it used 95% of the cpu and not 95% of a predefined set of rules and eventually use 3 of the 4 cores. Which in turn means your using 71% ( according to my quickmath ) of the actual cpu power, isnt it an option to make this work in a different way? For the speedjunks?

You could make some options green and some orange and some red and make it so that people know?

BTW! What would happen if i have 8 actual cores, would it use 7?
You misunderstand "reliability". Its not about that there could be wrong results, it means the time it needs so the process returns is very variable (cause you don't know if its parallel for real or not). This in turn means that by enabling one of these cores for rendering you automatically eat up DSP which as he explained is the "time left" to do processing. If the time is less reliable it means it will return later every now and then and this "every now and then" will amount to a pretty specific slowdown in the general processing.

Thanks @jengstrøm for the insight and kudos for making Reason MT-aware. I imagine you have to backtrace the signal flow for this. Is there any way to have a look at the specifics about this? As in does a send to a reverb already stop all MTing for all those channels?
__________________
Plugin latency issues? Phasing on parallel channels? Want to know the real latency of your audio interface? Try the VMG-01!
Professional Audio Engineer at Theater Bremen, Germany • Part Time Programmer
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Propellerheads Online R+R Virtual Jam Colab Idea scottym Phead User Forum (read only) 3 2010-09-13 22:50
wanting to start a new REASON community. come join the team latavish General Forum (read only) 1 2009-06-19 01:45
What is Dan E. and the Yellow Team up to? dawelo1958 Phead User Forum (read only) 9 2008-11-02 18:30
Propellerheads on IRC Pixar General Forum (read only) 1 2003-06-26 01:44
Question for Propellerheads! Bleeetz General Forum (read only) 8 2002-07-30 07:52


All times are GMT +2. The time now is 03:07.