Cуть программы - распределение работы опенгл подсистемы wine - на два процессора - для World of Warcraft

Описание работы:
В основном потоке - где идут все вызовы opengl функций - все эти вызовы собираются в буфер и , не дожидаясь завершения отработки их видеокартой ,возвращает управление программе.
Во втором потоке - получение накопленных буферов от первого и вызовы реальных opengl функций

таким образом - та работа что совершается одним потоком - распределяется на два
тем самым достигается 3ной кадровый буфер

  1. сама программа выдает opengl команды на рисование и они складываются в  буфер
  2. второй поток команды из буфера выдает на реальную видеокарту
  3. то что показывает видеокарта


Изначально идея патча родилась из за того что World of Warcraft под вайном работал существенно медленнее (практически в 2 раза меньший фпс) чем на windows

в ходе поиска обнаружилось - что подсистема драйверов на windows (ati и nvidia) начинают работать в 1 или 2 потока в зависимости от включение в них- так называемой - оптимизации под конкретное приложение

Текущее состояние - WoW работает практически идеально

производительность в WoW  можно точно замерять след методом - после команды /script SetTaxiBenchmarkMode(1);
следующий полет на такси в конце выдаст статистику

my small table testing
/script SetTaxiBenchmarkMode(1);
fly in Nezershtorm - from up point to rigth point - and back
graph setting - 1280-1024 + max setting , antialias = 1 , vsync=off
min/max/middle min/max/middle.
(fly)          (back fly)
see last digit - middle fps

intel dual core 7500   3.5ггрц  windows gtx470
d3d        18/143/83 22/87/56.4
opengl     17/219/95 22/139/73

Athlong x2 3.5ггрц  linux gtx470
opengl     9/101/45 12/57/31

Athlong x2 3.5ггрц  windows gtx470
d3d        38/220/123 23/116/79
opengl     24/224/108 28/130/71
   
Intel PentiumD 3.7ггрц linux
opengl      8/70/37 9/42/26

PhenomX6 3.3ghz gtx580 rgl.so 1280x1024
opengl+rgl 51/177/127 58/116/91

IntelI7 3770 CPU @ 3.40GHz
opengl+rgl 64/399/267 65/279/188.

Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
opengl+rgl 66/514/355 78/343/235

Intel(R) Core(TM) i7-4770K CPU @ 4.50GHz
opengl+rgl 97/569/394 85/384/265


Linux Intel Core 2 Quad CPU Q9550 @ 3.41GHz  ATI Radeon HD 5870 1024MB
(850/1200MHz)
opengl+rgl32   46/184/98 42/121/69
opengl+rgl64   48/172/96 43/110/67

opengl 32      25/90/56 25/53/40
opengl 64      26/89/54 24/53/38