Ну вроде в многозадачной системе хорошим тоном будет хотя бы Sleep(0), когда делать нечего. Типа не нужен остаток кванта - передай товарищу. Другое дело, что для быстрых околориалтаймовых задач отдавать стремновато, следующий квант могут дать очень не скоро.
Как бы странно, что девелоперу нужно шаманить за драйвер и шедуллер оси. Т.к. если ничего не отдавать - то работать нормально просто не получится. К слову сказать API для выставления аналога VSync на конкретном устройстве-драйвере не работает.
За драйвер ничего не скажу, а шедулер рассчитан на среднепотолочное приложение и помочь ему вовсе не грех. Заявленное, но неработающее API - это да, это западло. Типа "welcome to the desert of the reality, Neo".
Пардон, а что значит "помочь"? :) Когда он и так отбирает значительный кусок времени у приложения, добавления Sleep - это будет означать "прогнуться" :D Но в целом разговор не туда ушел. Проблема не в менеджере задачи системы, а в реализации OpengGL ES которая к проблемам приводит. И суть в общем-то в парадоксальности (на 1й взгляд) - что добавление задержки в однопоточную программу дает визуальное увеличение скорости ее работы.
я не реализовывал игру, а только портировал. на WM 6.х. под 7ку пока есть только мысли. но уже радует что там нет проблем неполной имплементации CRT :D
Comments 6
Reply
Т.к. если ничего не отдавать - то работать нормально просто не получится.
К слову сказать API для выставления аналога VSync на конкретном устройстве-драйвере не работает.
Reply
Reply
Но в целом разговор не туда ушел. Проблема не в менеджере задачи системы, а в реализации OpengGL ES которая к проблемам приводит.
И суть в общем-то в парадоксальности (на 1й взгляд) - что добавление задержки в однопоточную программу дает визуальное увеличение скорости ее работы.
Reply
Reply
под 7ку пока есть только мысли. но уже радует что там нет проблем неполной имплементации CRT :D
Reply
Leave a comment