Compiz интенсивно использует 3D-акселератор. Если вы запускаете свою Ubuntu на виртуальной машине, она пытается использовать эмулированную.
Эмуляция 3D-акселератора, как правило, вызывает большие проблемы в большинстве решений виртуализации. Но иногда он работает или его можно взломать, чтобы он работал, в основном в продуктах VMWare.
Не имея аппаратного 3D-ускорителя, 3D-рендеринг больше переключается на программное обеспечение. Он медленный и съедает страшную массу процессорного времени, вот с чем вы сталкиваетесь.
Ваши возможности:
Больше всего мне повезло с (1 ), затем с (3 ).
Большинство системных вызовов (, в основном тех, которые помещают процесс в очередь службы, )приводят к тому, что планировщик ядра берет следующий по срочности процесс и запускает его. Немного сложнее для многоядерных -и когда процессы могут быть выделены для определенных ядер или ЦП.
Процессорное время также распределяется по максимальным временным интервалам, и на каждом такте планировщик проверяет, не израсходовал ли текущий процесс весь свой квант времени. Если это так, то оно приостановлено (, т.е. не возвращается из тикового прерывания ), а его временное значение nice увеличено, поэтому оно находится дальше от головы очереди расписания. Это гарантирует, что программы, выполняющие частые операции ввода-вывода, получат много коротких временных интервалов, а процессоры-пожиратели — несколько длинных.
Все это описывает довольно ранние Unix-системы (, потому что в последнее время я не работал на этом уровне ), но, вероятно, он не сильно изменился. Вы не можете так сильно улучшить первоначальный дизайн.