Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Часть функционала Исправление ошибки в RenderSystem | ALL MCP 1.16.5

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
17 Дек 2023
Сообщения
36
Реакции
1
Выберите загрузчик игры
  1. Vanilla
  2. Forge
  3. Fabric
  4. NeoForge
  5. OptiFine
  6. ForgeOptiFine
  7. Прочие моды
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
 
Последнее редактирование:
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
до
1774937771320.png
после
1774937775569.png
ахуенно для меня это не нужно а моему другу с не ноутом а табуреткой очень надо
 
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
единствернный нормальный пост на mcp 1.16.5 который реально помогает
 
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
есть похожая проблема у майнкрафта (чаще всего на фабрике как я знаю) я незнаю как это описать но майнкрафт работает например так что если какой-то оверлей появится на экране ( может даже не отобразится) то игра странно багается и фпс ограничивается на х2 от вашей герцовки, незнаю встречал ли кто то такой баг но он есть
 
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
легенда
 
есть похожая проблема у майнкрафта (чаще всего на фабрике как я знаю) я незнаю как это описать но майнкрафт работает например так что если какой-то оверлей появится на экране ( может даже не отобразится) то игра странно багается и фпс ограничивается на х2 от вашей герцовки, незнаю встречал ли кто то такой баг но он есть
встречал кстати да, хз как фикс
 
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
Это увеличит фпс только, если у тебя герцовка монитора меньше чем фпс.
есть похожая проблема у майнкрафта (чаще всего на фабрике как я знаю) я незнаю как это описать но майнкрафт работает например так что если какой-то оверлей появится на экране ( может даже не отобразится) то игра странно багается и фпс ограничивается на х2 от вашей герцовки, незнаю встречал ли кто то такой баг но он есть
Пошли дс, покажешь баг.
 
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
молодец пацан
 
Это увеличит фпс только, если у тебя герцовка монитора меньше чем фпс.

Пошли дс, покажешь баг.
я его ловил иногда, я не знаю точно из-за чего он , xelvoridze если поймаю отпишу
 
Обнаружена критическая ошибка: при высокой частоте кадров игра отправляет запросы на обновление дисплея, даже когда монитор не успевает их отобразить. Это создаёт избыточную нагрузку и снижает производительность.

Решение: метод автоматически подстраивается под частоту монитора, устраняя бесполезные обновления и освобождая ресурсы для других задач. Это добавит вашей пасте минимум фпс 20 к оптимизации.

Вот исправленный метод в классе RenderSystem


RenderSystem:
Expand Collapse Copy
public static void limitDisplayFPS(int p_limitDisplayFPS_0_) {
if (p_limitDisplayFPS_0_ <= 0) {
 return;
    }

double d0 = lastDrawTime + 1.0D / (double) p_limitDisplayFPS_0_;
 double d1;

for (d1 = GLFW.glfwGetTime(); d1 < d0; d1 = GLFW.glfwGetTime()) {
GLFW.glfwWaitEventsTimeout(d0 - d1);
    }

 lastDrawTime = d1;
}
ты это берёшь из готовых модов на fabric или тебе нейронка подсказывает? интересно
 
ты это берёшь из готовых модов на fabric или тебе нейронка подсказывает? интересно
Видос смотрел на ютубе как чел делал 50к фпс себе, там он показывал код рендера и объяснял ошибку. Могу скинуть видос
 
Назад
Сверху Снизу