![]() |
【转帖】multi-processor problem
multi-processor problem?
multi-processor problem? we have a client that is running our dwgdirect-based software on two different machines. one is a desktop dell optiplex and it runs very quickly. the other is a dell poweredge with 8 processors. it is very slow (about 10x). both systems are running the same os (windows server 2003, standard edition). the poweredge has more memory (4gb vs 512mb). the poweredge's processors are newer and faster. can having a multiprocessor system slow down the application that much? is there a work-around other than creating a single threaded version? the slow-down may be caused by the memory barrier operations, called by interlock* functions, when copying strings and smart-pointers. mb cost depends on the platform architecture and maybe in your case the cost is very high. in that case single threaded version would be more efficient. (or perhaps multi-process) what is the cause exacly, we cannot say, because we have no access to such machine. vladimir could be display board? we did figure out another difference between the two machines: they have vastly different graphics boards. the multi-processor machine has a rudimentary 16mb graphics board while the "faster" machine has 512mb, fancy graphics board. we are producing bitmaps using wingdi. do you think the graphics board could make a difference for that operation? if so, is there a way around it? good graphical board matters for wingdi device too (fill rate, line rasterizing..). of course for opengl or directx device it would mean even more. what do you mean by "way around"? you may try to use portable winbitmap device, it uses cpu only, but it will probably be much slower. vladimir |
所有的时间均为北京时间。 现在的时间是 04:35 PM. |