примерно пол-года года назад драйвера под AMD стали полностью опенсорсными (т.е. заявили, что проприетарные больше не поддерживаются)Я что-то пропустил... не могу найти даже похожую новость, можно ссылочку, пожалуйста?
Разница в скорости HD4400 и r7 265 максимум 25% в сторону красныхДа ну ладно вам, где вы такие цифры взяли? По futuremark'ам разница фпс в 5-6 раз, по userbenchmark'у общее преимущество у R7 — от средних +590% до +933% в некоторых тестах.
все игры будут работать без тормозовНу вы даёте =) Такого даже на топовых видухах не бывает.
Какой тред у меня блокируется? О чем вы говорите?Ну, вы говорите про
функцию с вечным циклом?, разве вечный цикл не подразумевает блокировку треда?
P.S. не заметил особой разницы в трудозатратах между select и epoll.Вот об этом я и говорю, в общем то смысле. Если вы не заметили, зачем вам нужен epoll, значит вы, вероятно, его используете не для того, для чего он предназначен, а это явный оверкилл. Как я понимаю, вы epoll'ом только ждёте коннекта, а не мультиплексируете IO в широком смысле, не используете кастомные ивенты, и т. п. для чего он предназначен, собственно, если это так, то ту же задачу исполнят блокирующие сокеты с меньшими усилиями. Если я не правильно вас понял, то опишите подробнее, что у вас за архитектура и зачем вам в блокирующемся треде публичные методы...
один тип должен обрабатывать самКак epoll может обрабатывать сообщения, если его задача их просто принимать/доставлять? Разделите обязанности, в этом классе максимум должна быть стейтмашина для принятия асинхронных пакетов и сборки их в конкретное сообщение. Дальше уже, когда сообщение готово, передавайте его куда угодно, хоть в другой тред, хоть в другое приложение.