|
Hi
I need some help for the follwoing state.
when i use for(....)
statement the CPU prformance becomes 100%
when i use Sleep(..) function the program performance becomes more slower.
i need some techinques for using loop with large rang with minmal CPU performance .
plesea some help.
thanx alot
BY.
On Earth nothing impossible,
while your mind running.
Faroqtam
|
|
|
|
|
If you are processing a lot of data, Sleep is about your only choice. You must chose between fast data processing and program performace. It is all a balancing act; a single CPU can only do so much and every but wants a slice of its time. The best you can do is to run profiling to see where the bottle necks are (slow code) and optimize those functions that are taking to long to do there job.
Good Luck!
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
What exacly you want to do ?
why would you want to use Sleep ? it will stop the loop from looping ( and suspend the application ).
If the software loops, and is taking 100% of the CPU, it is because the OS decided that nothing else important needs the CPU;
I'm not sure what you mean by "minmal CPU performance" ? even a low priority process will be put to work when nothing else happens.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
See the section "Responding to user input while performing a long task" in this[^] article.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Hi .
Thanx alot.
On Earth nothing impossible,
while your mind running.
Faroqtam
|
|
|
|
|
well if the processing that u want to is not that important ,give ur code in the OnIdle() function.....
maybe that could help.....
|
|
|
|
|
set a timer to perform your task at a time interval without using CPU when your program's not running (active loops are bad for that).
TOXCCT >>> GEII power [VisualCalc]
|
|
|
|
|
I have a CStatic control on a dialog which I use to display an icon and I want to set the size of the icon to large. Now it display at 32x32 but I want 48x48 or bigger. How can I do this?
Thank you
|
|
|
|
|
Hi,
Can anybody help me with the following:
I have a Dialog with CRichEditCtrl. When I right-click the mouse inside the CRichEditCtrl a popup menu appears with one menu item called "Select Text". When the "Select Text" is clicked I want to highlight the text before the mouse cursor position.
I have created the popup menu that appears when the right mouse button is clicked. How can I highlight the text?
Thanks very much,
dlarkin77
|
|
|
|
|
CRichEditCtrl::GetSel() EM_EXGETSEL
CRichEditCtrl::SetSel() EM_EXSETSEL
To select all the text before the current caret positon:
GetSel(nStartChar, nEndChar);
SetSel(0, nEndChar);
Should do it!
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
Hi i've come across this before and had to re-create the project to get it to work.
I've created a new win32 dll project with VC++6. (No MFC)
It's a simple utils dll with just functions, no DLLMain, Attach etc..
Upon build of the app, no .lib file is being created.
I am exporting a function.
(__declspec(dllexport) int logEvent(char* logFile,char* event,bool bLog);)
Can someone tell me why it isn't producing the .lib file.?
Can i use 'lib' to force this creation?
thanks in advance
Carl
below is the linker options from VS:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib<br> odbccp32.lib /nologo /dll /incremental:yes /pdb:"Debug/assemblyUtils.pdb" /debug /machine:I386 /out:"Debug/assemblyUtils.dll" /implib:"Debug/assemblyUtils.lib" /pdbtype:sept
|
|
|
|
|
Answer:
Well it seems i didn't add the header file in the cpp to the exported declaration of the function. Even though it compiled, nothing was being exported.
added the header and bobs your aunty betty!
thanks to myself
Carl
|
|
|
|
|
Well what do you know a self answering post.
Very cool! We learn from those too!
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
I have a treelist which I want to add some icons to. I am confused by this but I have seen some code which uses a width of 19 and height of 13 for its icons. The icons I want to use are 16x16 and are multi-color. The icon is a file which contains a 256 color image and a 16.8M color image. There are also 24x24, 32x32 and 48x48 sizes.
What do I set the treelist icon size to for the best? Is the standard font what determines what height I should use? I suppose the width depends on the icons I want to use but if I can use a height of 16 I might as well then use a width of 16.
Are there any articles which explain this clearly?
|
|
|
|
|
I have not seen any articles explaining this. I have been able to use any size icon, and 32bit color. Probably 256px wide is a reasonable limit. The limits are built into the imagelist you use, not the tree control itself.
--
Joel Lucsy
|
|
|
|
|
Hi guys
I'm using CFiledialog with multiple selection and ,I don't know the reason but when I read the files selected with :
POSITION pos=dlgFile.GetStartPosition()
while (pos!=NULL){
m_strFile=dlgFile.GetNextPathName( pos);
// here I do whatever with the file
}
The first and the last files are exchanged.
The first value of m_strFile is the last selected file and the last one is the first selected.
Somebody knows why this can happen to me?
Thanks in advance
Doc
|
|
|
|
|
|
How do you find the Middle node of a string , without calculating the length of the string?
How would you test it ?
What if the length was “n” ?
How many pointer variables are used?
Is this done recursively ?
Thanks
|
|
|
|
|
for the example, i use a CString :
<font color=#0000FF>char</font> ExtractMiddleNode(<font color=#0000FF>const</font> CString& str) {
<font color=#0000FF>return</font> str[(<font color=#0000FF>int</font>)(str.GetLength() / 2)];
}
i explain.
GetLength() gives the length of str.
GetLength()/2 so gives the middle of the string.
if the string contain 2n characters (where n is an integer), so, GetLength()/2 gives an integer, that is the position of the middle character.
if the string contains 2n+1 characters (with n still an integer), GetLength()/2 gives an integer+0.5. that's why a truncated the result with the (int) cast.
understand ?
TOXCCT >>> GEII power [VisualCalc]
|
|
|
|
|
When did they start calling a character a node?
GetLenghth() returns and interger and is divided by an interger. The result is an interger. Therefor, there is no need for the int cast.
int i = 11/2;
Result: i = 5;
double d = 11/2;
Result: d = 5.0
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
John R. Shaw wrote:
When did they start calling a character a node?
don't know, i just used what dmxdmxdmx... said.
TOXCCT >>> GEII power [VisualCalc]
|
|
|
|
|
I'm not allowed to do a GetLength ...!!!
Anyways, Can I use a binary search Tree?
|
|
|
|
|
dmxdmxdmx05 wrote:
Middle node of a string
What does this mean?
Is it a C string "c-string"?
Is it a standard C++ string?
Is it a CString?
There are to many ways to manipulate strings inorder to answer this question with more information.
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
C string I guess.
like a char*
|
|
|
|
|
Well if toxcct is correct and you want the middle character, then you will have to use strlen(), which counts the characters.
char* s = "any string of characters";
int len = strlen(s);
char mc = s[len/2];
This assumes single-byte character coding (like ASCII). Multi-byte character is a whole nother story.
Note: Both std::string and CString both store the length, so getting the length is faster then character counting.
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|