Strange video processing question

CybrGuy

Junior Member
May 22, 2003
10
0
0
One of the project groups in my company recently bought a slew of high end systems. They claimed to need a GF FX5950card to run a MS Excel spreadsheet table with 60000 entries that updated itself as quickly as the machine could crunch the numbers. Each of the 60000 entries are doing complex mathematical operations. My first thought is that it wouldn't even be using the rendering engine to do that sort of work. But he argued that it was.

He had a few friends backing him up so I felt that I would need to ground my argument before I can
return and argue further. Here are the three main points of his argument.

1. He has been frying video cards doing this. (My thoughts were that he was either not cooling them well enough or he is doing something that they were not intended for)

2. Each cell on the spreadsheet was a "polygon" which needed to be "rendered" by the video card the same as in a game.

3. The excel spreadsheet refreshes and shows the calculation results real-time as it calculates, hence he needs the high end video card to maximize how quickly it can update the spreadsheet.

Related Info- The CPU is pegged at 100% for 10 hours straight per "job? they run several of these jobs per week. Each machine is a p-4 running at 3.6 GHZ with 2GB of ram, and a GFFX 5950. The person(s) making this argument are engineers, so they are smart, well learned, but may not understand graphics and computers as well as they think they do. (Same goes for me but I'm not an engineer)

#2 and #3 are the main points I would like to know all the facts surrounding it, whether I am right or wrong in arguing against them. If possible I would like to know what parts of the 5950 are actually needed/fully utilized in doing these excel spreadsheets.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: CybrGuy
One of the project groups in my company recently bought a slew of high end systems. They claimed to need a GF FX5950card to run a MS Excel spreadsheet table with 60000 entries that updated itself as quickly as the machine could crunch the numbers. Each of the 60000 entries are doing complex mathematical operations. My first thought is that it wouldn't even be using the rendering engine to do that sort of work. But he argued that it was.

He had a few friends backing him up so I felt that I would need to ground my argument before I can
return and argue further. Here are the three main points of his argument.

1. He has been frying video cards doing this. (My thoughts were that he was either not cooling them well enough or he is doing something that they were not intended for)

2. Each cell on the spreadsheet was a "polygon" which needed to be "rendered" by the video card the same as in a game.

3. The excel spreadsheet refreshes and shows the calculation results real-time as it calculates, hence he needs the high end video card to maximize how quickly it can update the spreadsheet.

Related Info- The CPU is pegged at 100% for 10 hours straight per "job? they run several of these jobs per week. Each machine is a p-4 running at 3.6 GHZ with 2GB of ram, and a GFFX 5950. The person(s) making this argument are engineers, so they are smart, well learned, but may not understand graphics and computers as well as they think they do. (Same goes for me but I'm not an engineer)

#2 and #3 are the main points I would like to know all the facts surrounding it, whether I am right or wrong in arguing against them. If possible I would like to know what parts of the 5950 are actually needed/fully utilized in doing these excel spreadsheets.

Excel does not use your graphics card. At all. Except to redraw 2D things on the screen. Go ahead and ask Microsoft if you like. The only exception might be if they were using some kind of plugin to render things in 3D, but that's not what it sounds like they're doing. It should be completely limited by the CPU and RAM, and possibly the disk if the files are too big to fit in memory.

Tell them to stop wasting their money. You may need *a* graphics card (ie, not the onboard Intel crap their workstations are probably shipped with) to avoid bottlenecks with the screen refresh, but not a super-high-end 3D card. If it's trying to redraw the screen after each cell updates, that WILL probably slow things down somewhat even with a fast card, but I'm fairly certain you can disable this behavior in Excel. They'd be far better off either a) getting dual-processor machines, and/or b) doing complex scientific calculations in a real calculation program like MATLAB or Mathematica instead of Excel.
 

CybrGuy

Junior Member
May 22, 2003
10
0
0
I did hope for a more detailed response, but thank you all the same. Actually a link to anything explaining how 2d stuff like excel is processed and displayed compared to actual 3d rendering would be the most helpful.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: CybrGuy
I did hope for a more detailed response, but thank you all the same. Actually a link to anything explaining how 2d stuff like excel is processed and displayed compared to actual 3d rendering would be the most helpful.

here's a link on 3D graphics, at least. Slightly dated, but still relevant for the basics.

2D programs work on frame buffers in the video card's memory, just like 3D programs, but use a VERY restricted (and very fast) subset of commands that only do 2D graphics things -- stuff like drawing lines and simple shapes, or outputting text. Having a "Graphics Accelerator" used to make 2D programs run significantly better, but nowadays even the cheapest graphics card can do 2D stuff in hardware faster than your CPU can keep up.
 

Concillian

Diamond Member
May 26, 2004
3,751
8
81
He may be right if he has Application.ScreenUpdating enabled and he is trying to update the screen 1000 times a second or something.

Without knowing exactly what he is doing in excel that takes 10 hours of 100% CPU usage I can't comment directly on his case, but I have a feeling he is either 1) using the wrong application for his needs or 2) not doing what he needs as efficiently as he can in Excel.

He is probably WAY better off looking towards software as a place to improve his calc times than hardware.

If this is a macro (I can't imagine it's not if it's taking 10 hours to run), suggest he add the line:
Application.ScreenUpdating = false

at the beginning and then set

Application.ScreenUpdating = true
Application.ScreenUpdating = false

at some place in the macro that lets the screen update about once every minute or so. You won't get the update IMMEDIATELY, but your computation will be a hell of a lot faster, so in reality you WILL get the info sooner. If you have a huge loop, you can have it update the screen every X number of cycles through the loop and experiment with X until you ge the right balance of speed and screen updates.

When I started doing large macros in Excel, I had a macro that took 30 minutes to calc stuff in a WHOLE BUNCH of cells (at least thousands, probably not 60,000, but closer to the 5-15,000 range). I was (stupidly) doing all the work in Excel, instead of reading it into arrays and doing all the manipulation in VB. Just turning off screen updating cut the time to 6 minutes. Putting it into arrays and dealing with the manipulation exclusively in VB cut the time to about 1 minute. And I am a self-taught VB novice. I bet if I knew programming better, I could cut that in half again through better optimized routines.

So there are good ways and bad ways to manipulate data in Excel. And the bad ways cost you TONS AND TONS of time. I have little doubt that he could cut 10 hours down to at least 4 or 5 and I think 30 minutes to an hour is likely, through better software and/or programming.

Excel is a GIGANTIC HOG if you do not know how to get speed from it. If you do know how to get speed from it, you can trim Excel down from a GIGANTIC HOG to a regular old hog. However if you're doing 10 hours of calculations in Excel and Excel is doing things as efficiently as possible, you are quite likely, as Matthias said, not using the best tool for the job. I'd guess even if Excel is working as efficiently as possible, doing the calcs in a better application would trim things down by a factor of 2.

If you really want to twist his noodle, as I recall, all the GF FX 5900 series cards run slower when at the desktop and doing 2D stuff. Download coolbits and install it on one of the computers to show him that he's running slower than he thought. Then watch him as he realizes he can crank the 2D core speed equal to the 3D speed so he can do his calcs SO MUCH FASTAR!!