Player textdraws - лимит
#1

Здравствуйте. Столкнулся со следующей проблемой, при одновременном показе 113-ти player textdraw'ов, 2 - из них не отображаются, бывает из-за этого и игра сама лагает (редко. При сворачивании и разворачивании игры - разворачивается она долго).

В wiki написано limit = 256 player textdraws, но у меня всего их 113. Убираю другие, показываются те недостающие два.

Может можно как-то решить данную проблему?

Заранее благодарю вас за ответы!
Reply
#2

Может Иды пересекаются или удаляются не те. Сделай дебаг по ид.
Reply
#3

Quote:
Originally Posted by Ted67
View Post
Здравствуйте. Столкнулся со следующей проблемой, при одновременном показе 109-ти player textdraw'ов, 2 - из них не отображаются, бывает из-за этого и игра сама лагает (редко. При сворачивании и разворачивании игры - разворачивается она долго).

В wiki написано limit = 256 player textdraws, но у меня всего их 109. Убираю другие, показываются те недостающие два.

Может можно как-то решить данную проблему?

Заранее благодарю вас за ответы!
А ещё в вики там стоит аж 4 звездочки!
Которые гласят следующее:
Quote:

It's possible to show all ServersideTextdraw and all PlayerTextDraw at the same time, for one player. (not recommended)

Поэтому лимиты прописанные там ещё не гарантия их 100% соответствия.
Reply
#4

Ну, 256 это сколько вообще можно создать для игрока, а показать их одновременно можно лишь в определенном количестве.
Reply
#5

И в правду, вот что нашел:
Code:
ID: 0
[20:21:31] 
ID: 1
[20:21:31] ID: 2
[20:21:31] ID: 3
[20:21:31] ID: 4
[20:21:31] ID: 5
[20:21:31] ID: 7
[20:21:31] ID: 22
[20:21:31] ID: 101
[20:21:31] ID: 102
[20:21:31] ID: 103
[20:21:31] ID: 100
[20:21:31] ID: 104
[20:21:31] ID: 6
[20:21:31] ID: 8
[20:21:31] ID: 9
[20:21:31] ID: 10
исправил:

Code:
[20:44:12] 
ID: 0
[20:44:12] 
ID: 1
[20:44:12] ID: 2
[20:44:12] ID: 3
[20:44:12] ID: 4
[20:44:12] ID: 5
[20:44:12] ID: 6
[20:44:12] ID: 7
[20:44:12] ID: 8
[20:44:12] ID: 9
[20:44:12] ID: 10
[20:44:12] ID: 11
[20:44:12] ID: 12
[20:44:12] ID: 13
[20:44:12] ID: 14
[20:44:12] ID: 15
[20:44:12] ID: 16
[20:44:12] ID: 17
[20:44:12] ID: 18
[20:44:12] ID: 19
[20:44:12] ID: 20
[20:44:12] ID: 21
[20:44:12] ID: 22
[20:44:12] ID: 23
[20:44:12] ID: 24
[20:44:12] ID: 25
[20:44:12] ID: 26
[20:44:12] ID: 27
[20:44:12] ID: 28
[20:44:12] ID: 29
[20:44:12] ID: 30
[20:44:12] ID: 31
[20:44:12] ID: 32
[20:44:12] ID: 33
[20:44:12] ID: 34
[20:44:12] ID: 35
[20:44:12] ID: 36
[20:44:12] ID: 37
[20:44:12] ID: 38
[20:44:12] ID: 39
[20:44:12] ID: 40
[20:44:12] ID: 41
[20:44:12] ID: 42
итд
Но результата нет. Тоже самое.

Quote:

Которые гласят следующее:

Там разве не говорится о показе глобальных и player td вместе?

Quote:

all ServersideTextdraw and all PlayerTextDraw at the same time,

p.s. поправил, 113 td.
Reply
#6

Читайте весь пост:
Quote:
Originally Posted by Stepashka
View Post
Поэтому лимиты прописанные там ещё не гарантия их 100% соответствия.
Reply
#7

Quote:
Originally Posted by Stepashka
View Post
Читайте весь пост:
Это понятно. Я, увидев текст "глобальные И player td одновременно" - думал не рекомендованно это только при указанном случае. А тут, я показываю всего 113 player td.
Reply
#8

Quote:
Originally Posted by Ted67
View Post
Это понятно. Я, увидев текст "глобальные И player td одновременно" - думал не рекомендованно это только при указанном случае. А тут, я показываю всего 113 player td.
На экран можно 92 текстдрава выводить, остальныне не будут отображаться, создавать можно для игрока 256, глобальные 2048.
Reply
#9

Quote:
Originally Posted by James_Braga
View Post
На экран можно 92 текстдрава выводить, остальныне не будут отображаться
Это информация устарела.
Reply
#10

Можно поинтересоваться для чего вам нужно выводить столько текстдравов?
Reply
#11

Quote:
Originally Posted by Mutha_X
View Post
Можно поинтересоваться для чего вам нужно выводить столько текстдравов?
Глупый вопрос )
Возможно у него UI на текстдравах? Вариантов множество
Reply
#12

Ты точно уверен, что у тебя не превышен лимит?
Reply
#13

Quote:
Originally Posted by Alexander_Petrov
View Post
Ты точно уверен, что у тебя не превышен лимит?
Ну да. Сейчас перевел 3 текст драва на глобальные, результат тот же. 2 текстдрава оставшиеся не отображаются, свернул игру, развернул, потом другие 2 не отображаются (а те которые не отображались до этого - отображаются), снова сворачиваю игру, разворачиваю уже другие 2 не отображаются а с остальными все норм (из тех, которые последними были отображены в очереди - player td. Хотя в конец поставил еще один глобальный тд, но он отобразился нормально).
Reply
#14

Как считал?
Reply
#15

Quote:
Originally Posted by Alexander_Petrov
View Post
Как считал?
printf'ом выводил в лог порядковые id's при отображении игроку.
Reply
#16

Посчитай так
pawn Code:
new textdraws, ptextdraws[MAX_PLAYERS];
stock TextDrawCreate_(Float:x, Float:y, text[]) {
    textdraws++;
    return TextDrawCreate(x, y, text);
}
stock CreatePlayerTextDraw_(playerid, Float:x, Float:y, text[]) {
    ptextdraws[playerid]++;
    return CreatePlayerTextDraw(playerid, x, y, text);
}
#define TextDrawCreate TextDrawCreate_
#define CreatePlayerTextDraw CreatePlayerTextDraw_
после инклюдов вставь. Как создашь все, выводи количество.
Reply
#17

Quote:
Originally Posted by Alexander_Petrov
View Post
Посчитай так
pawn Code:
new textdraws, ptextdraws[MAX_PLAYERS];
stock TextDrawCreate_(Float:x, Float:y, text[]) {
    textdraws++;
    return TextDrawCreate(x, y, text);
}
stock CreatePlayerTextDraw_(playerid, Float:x, Float:y, text[]) {
    ptextdraws[playerid]++;
    return CreatePlayerTextDraw(playerid, x, y, text);
}
#define TextDrawCreate TextDrawCreate_
#define CreatePlayerTextDraw CreatePlayerTextDraw_
после инклюдов вставь. Как создашь все, выводи количество.
Посчитал, результат тот же. Добавил еще 1 глобальный текст драв и отображаю его самым последним (как и создаю), он без всяких проблем отображается.

Создано: 4 глоб | 110 персональных.
Показано: 4 глоб | 110 персональных (тут уже 2-3 не показываются).
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)