Increase in multi-processor
computer, the speed of an excellent way to build the
full use of its parallel processing ability, if you have
a Visual Studio 2010 C + +
project Document, there are two different
types of parallel build configuration for your
New HMI & SCADA Graphics Visualization Source
Code Solution is ready!
HMI-SCADA Graphics Visualization VC++ Source Code Solution
-- Industrial Control \Design
and Simulation Integrated Development Platform
VC + + source code solution,
to use E-XD++ source code visualization component library will save you
more than 70% of development time.
Use E-XD++ Enterprise Edition visualization, build your own professional
industrial control, simulation platform within hours,
Promotional personalized database document
New VC++ Variable
A.NET/ VC++ Source Code Component for building any database printing applications that create dynamic, database-driven documents quickly and easily and personalize your promotional communications by varying text, graphics, barcodes, or entire layouts based on information found in your database,
UCanCode Dynamic Graphics
and Real-Time Process
Software Inc. is a leading provider of
HMI & SCADA,
GIS and Data Visualization Graphics
for software developers more than 40 countries around the world!,
your own SCADA Software --
-- Full VC++ Source Codes
Add Diagrams and
SCADA to your applications. E-XD++ Diagrammer brings accurate and
intuitive diagrams and dashboards to your c++ desktop applications. It
offers a comprehensive set of tools, components and graphic objects for
creating visualization, editing and monitoring Windows applications,
Graphics Software ToolKit Solution -- Full VC++ Source Codes
UCanCode E-XD++ Visualization ToolKit
is an extremely flexible and robust graphical framework for building visual
interfaces that display real-time data, from Process Control operator
displays and HMI screens to Traffic and Telemetry Monitoring displays and
Supply Chain visualizations. more...
Real-time data display
Software Component Solution -- Full VC++ Source Codes
UCanCode is the leader of Real Time Graphics Source Code Toolkit, Data Visualization, HMI, UML, CAD, GIS and FlowChart for software developers around the world. Its products are
used to visualize and control real-time and mission-critical
processes in a variety of industries,
DASYLab like Data acquisition and graphics control visualization solution
-- Full VC++ Source Codes
easy-to-learn graphical environment for nonprogrammers to create
powerful DAQ applications without writing code. By arranging icons on a
worksheet and connecting them with wires, users can develop test and
measurement applications with control, analysis, display, and reporting
features. If your company need to build a DASYLab - like
application, E-XD++ will be the best choice for you to do that.
Microsoft word like table Component Control Solution
-- Full VC++ Source Codes
you can find a full
Microsoft Word Like Table Component,
this also the first full MS-Word
that designed for
around the world, full VC++source code
shipped. Add table editing, drawing, printing
capability to your word process applications within a few minutes,
Telecom Datacom map
process flow Solution
The UCanCode E-XD++
Component Enterprise Edition product family provides a complete set
of display components for user interface developers building
telecom or datacom applications.Cut development time by 50%
while delivering industry-standard look-and-feel that helps operators make
rapid, accurate decisions., more...
are the parameters can be adjusted?
Construction of the
project-level parallelism is controlled by the
MSBuild, which is a
solution in Visual Studio to set the level (actually
Visual Studio is saved
for each user settings, and you think may be a little
different, you might think Bu Tong solutions have
different settings, but the UI would not allow you to do
so), by default, Visual Studio select the number of
processors your machine as the largest number of
concurrent construction projects, shown in Figure 1, you
can be the number Enlarge the small to find a parallel
build the appropriate value of the fastest, some people
may prefer to transfer small to construct points, during
the other work can be done.
MSBuild from Visual
Studio to take over some functions, but
here's settings and Visual
Studio 2008 remains the same.
If you are building C + + or C
+ + / CLI projects, there is a place you can set the
parallel build parameters, CL compiler support / MP
parameter, which tells the compiler to use their own in
a separate instance of the same build its subset, the
default parallel few still use the number of CPU's, but
you can specify a value, such as / MP5, pay attention to
a little change now happening, so I have to tell you how
to find this value, and the
MSBuild project file format might look like.
Open the project's "Properties"
window, go to "C / C ++"*" General" window, I suggest
you choose "All configurations" and "all platforms" in
the back you have more options.
As usual, through the dump, you
can see the kind of project documents, in the "Solution
Explorer" right-click the node, select "Edit."
The following figure shows a
part of the project document code.
Here, all types for the "ClCompile"
items are automatically own metadata MultiProcessor
Compilation, the default value is true, unless
explicitly specified a different value.
By the way,
MSBuild project is
usually a file, which is a metadata sub-elements, the
following is an example, note that they are placed in a
Because this is a meta-data, if
it is master, can directly modify each file, you need to
use the # import the file to disable / MP, because it
does not support / MP, other do not support / MP is
characterized by the / Gm, / Gm that incremental
compilation, more parameters please refer to http://msdn.microsoft.com/en-us/library
Back to the multi-processor CL,
CL, if you want to explicitly tell the compiler how many
parallel execution, Visual
Studio can / MP implementation, it appears in
the global setting.
Visual Studio through a global
property CL_MPCount set, which means that outside the
building in Visual Studio
will not be affected.
If you choose a more
fine-grained value, you can not use the graphical
interface to set up, because you can not see the
settings for it, then open the project file must be
modified directly. In CLICompile project is a totally
different meta-data blocks, called "Processor Number",
you can set a reasonable from 1 to a value you think,
and then / MP after a similar additional value, if not <MultiProcessorCompilation
>, it will be ignored.
Figure wavy line appears a
little bug, ignore it directly.
How to build the
/ MP set from the project file,
so set on the command line function is the same, it is
part of the MSBuild,
build the command line and build in Visual Studio, the
same effect? In Visual Studio, set the global setting
does not affect parallel to the command line, you must
personally deliver to the
msbuild.exe / m parameter, this parameter is
optional, if you do not set it to use the number of CPU,
but, and Visual Studio out of the box not the same
characteristics, in the command line if you do not
specify the / m parameter, it will only use one CPU,
this problem may be in future versions will be
If you want to / MP arbitrary
values selected, you can set an environment variable, or
pass like Visual Studio as an attribute CL_MPCount.
In each project are set / MP is
very annoying, how can we improve the setting
You may want to use multiple
projects / MP, but you do not want each project are set
again, Visual Studio solution for these problems is to
use the property sheet. First from the "View" menu, open
the "property manager", according to the settings that
you use the exact location may not be the same, the
following is a VC + + project
Right click on a project,
select "Add a new attribute table":
I give it a name called "MultiprocCpp.props",
you will see all of the configuration of the project
will add the attribute table, right click on it and you
will see the same with the project properties window,
but this When you edit the attribute table again
"Multi-processor Compilation" set to "YES". Close the
Properties window, select the property manager property
sheet, then click "Save."
Can now be opened in the editor
MultiprocCpp.props new document, I look as follows:
Closer look at this project
file, you can see the table through an Import tag
attributes applied to each configuration, and this point
and C + + in the # include very similar.
Now before we can reuse the
definition in the project file, so I can select the
property manager multiple projects, then right-click,
select "Add 现有 attribute table."
OK! All projects are now
compiled with the / MP parameter.
In some cases, you may want
even more simply, for example, you might want to delete
a large number of attributes table, fortunately,
MSBuild 4.0 a
powerful, complete object model, you can use it, and
then write a few lines of code can handle this work.
If you do not want to set
through the graphical interface, can manually edit their
own, for example, in the VS build their own, we are in
the top of each project to set up a property.
Here we define all types of
global settings, and import the other set, I will
organize a future article describes the method of large
Not too many good
number of parallel
In general, the use of all
processors or processor cores End had enough, it may
cause slow or even crash the machine, the next chart
will show that such an example.
I was in a 8 CPU machine to do
this experiment, I put the solution all the projects are
all open / MP, and then use
msbuild.exe / m to build (I use the command
line to build the problem does not occur However, to
build in Visual Studio, there will be), can not stop it
if the relevant dependent,
MSBuild will immediately start eight
projects, each CL will be the first to run his own eight
instances, so there will be a total of 64 CL running
test Our processor core and the disk, do so not only can
not increase speed, sculptors make significant
You may hope that one
day the system can self-adjust, but if we encounter such
a problem, you have to manually adjust. Here are some
◆ the global value set smaller
For example, / m: 4 reduced to
/ m: 3, or using the property sheet will be / MP revised
/ MP2, if you build there are other issues, if a number
of parallel projects, but not parallel the CL, and vice
versa However, this time you should be global parameters
of the parallel transfer of small build.
◆ for each project and
configuration adjustments / MP
Sometimes using the / MP may
not be the best way, you can also adjust the
configuration, Retail configuration may make the speed
more slowly, because the compiler optimization to do
more, and for the Retail Open / MP instead of Debug Open
/ MP may be more meaningful.
◆ access to super custom
In your team, you may have a
range of hardware, maybe your developers are using a
dual-CPU machines, but the building at night in a
Taiwan's Ji Qi Shang for 8 CPU's, both the source of
build-time required is the same, you want the speed of
the two can not be too slow, in this case, you can use
environment variables, or set conditions on the label in
MSBuild tag almost
all of the conditions can be set.
Here is an example, when the "MultiprocCLCount"
has a value greater than zero, you can use this value to
enable / MP.
MSBuild starts all environment variables as
the initial property value, so I fast machine, I will
set the value of MultiprocCLCount 8, and use in my
development machine, I set it to 2.
A similar method can also be
applied to MSBuild.exe the / m parameter, such as / m:%
There are other external
conditions in the property may be useful, such as $ (Number_Of_Processors)
said the number of logical cores, it comes from an
environment variable. $ (MSBuildNodeCount) is passed to
the msbuild.exe / m
parameter in Visual Studio, this value is through the
"Tools" * "option" to set.
Finally, I hope you can use / m
and / MP. I hope you can introduce the
functionality further study, the best configuration
Original name: Tuning
VC + + build
parallelism in VS2010
Powerful, flexible, and
easy to use Diagram Components.
Powerful and flexible enough to create diagrams exactly the way you want
them to appear. So easy to use that you will be able to prototype your
application in just a few minutes.
With features such as automatic layout, multiple layers, collapsible
sub-graphs, snap-to connection points, XML, SVG, and more, E-XD++ Have the
power and flexibility you need to create sophisticated diagrams, quickly and
easily. Events such as click, double-click, hover, select, rubber-band
select, copy, delete, resize and move are supported. Operations such as
drag-and-drop, unlimited undo/redo, and clipboard operations are common and
complex, and are expected by today's sophisticated users. it full supports
importing ArcGis, SVG and DXF File format.
UCanCode E-XD++ Capable of handling many thousands of nodes and edges, up to
hundreds of thousands depending upon the complexity of the nodes you wish to
draw and the operations you wish to allow. Our graphical classes are
extremely lightweight objects enabling outstanding performance.
Save Time and Money and gain Reliability.
A diagram is worth 1,000 words, and E-XD++ is shipped with more than 500,000 lines of well designed and well tested code! It is used by hundreds of the world's most quality conscious companies. It will saves you thousands of hours of complex coding and years of maintenance.
1 UCanCode Advance E-XD++
CAD Drawing and Printing Solution
Source Code Solution for C/C++, .NET V2022 is released!
UCanCode Advance E-XD++
HMI & SCADA Source Code Solution for C/C++, .NET V2022 is released!
Advance E-XD++ GIS SVG Drawing and Printing Solution
Source Code Solution for C/C++, .NET V2022 is released!
Contact UCanCode Software
To buy the source code or learn more about with: